2009-09-16 5 views
0

Silverlight 라이브러리에서 스키마에 대해 들어오는 XML의 유효성을 검사해야합니다. 스키마는 5 개의 상호 의존적 인 .xsd 파일로 구성됩니다. 주 파일은 "xs : import"를 사용하여 다른 모든 파일을 참조하며 그 중 다른 참조가 있습니다.Silverlight 라이브러리에 XSD 스키마 파일을 포함시키는 방법은 무엇입니까?

.xsd 파일을 라이브러리와 함께 배포해야한다고 가정하면 (예 : 잘 알려진 외부 URL에 호스팅되지 않은 경우), 프로젝트를 구조화하려면 어떻게해야합니까?

빌드 유형이 "리소스"인 라이브러리 프로젝트에이 리소스를 포함시킨 다음 Application.GetResourceStream()과 "; content"플래그가있는 상대 URI를 사용하여 개별적으로로드 할 수 있음을 발견했습니다. 하지만이 방법을 사용하면 상호 의존적 인 5 개의 파일 집합에 대해 유효성을 검사 할 수 있습니까? 스키마 파서가 상호 의존성을 해결하려고 할 때 어떤 일이 발생합니까?

아니면 빌드 유형 "콘텐츠"를 포함시키고 기본 URL에 다른 종류의 URL로 액세스해야합니까?

또는 ???

요약 : 프로젝트에서이 5 개의 .xsd 파일을 사용하여 XML에 대해 XML의 유효성을 검사 할 수 있도록하려면 어떻게해야합니까?

편집 : Silverlight에서 유효성을 검사 할 수 있는지 여부는 명확하지 않습니다. 나는 a related question을 돌려 보낸다.

답변

2

유효성 검사와 관련하여 Silverlight 제한 사항에 대해 많이 말할 수는 없지만 질문 자체는보다 일반적입니다. 예를 들어, .xsd 파일을 데스크톱 .NET 응용 프로그램의 리소스로 저장하려고 할 수 있습니다. .

xs:import의 URI 해상도를 완전히 제어 할 수 있습니다 (XmlSchemaSet.XmlResolver 속성). XmlResolver의 하위 클래스를 만들고 GetEntity() 메서드를 재정의하고 GetResourceStream() 또는 GetManifestResourceStream() 또는 원하는 방식으로 구현하십시오.

+0

깔끔한입니다 - 감사합니다! – Eric

관련 문제