2014-05-19 1 views
0

다음과 같이 두 개의 XML 파일이 있습니다.XSD를 사용하여 두 개의 다른 XML 파일의 속성 값을 확인하십시오.

속성 ID를 확인하려면 두 XML 파일에서 동일한 값을 가져야합니다.

XSD로 신고 할 수 있습니까?

<!-- Library.xml --> 

<?xml version="1.0" encoding="utf-8"?> 
<Library> 
    <Book Id="1"/> 
</Library> 

<!-- ######################################## --> 

<!-- Book.xml --> 
<?xml version="1.0" encoding="utf-8"?> 
<Books> 
    <XmlBook Id="1"/> 
</Books> 

XmlBook 및 Book에 대한 Id 속성 값은 항상 동일해야합니다. XSD를 사용하여 확인 또는 유효성을 검사 할 수 있습니까? 아니면이 값에 대해 XSD를 사용하여 제한을 적용 할 수 있습니까? Adavnce에서

감사

감사합니다,

애니

답변

0

XSD는 개별 노드, 일반적으로 하나의 문서를 검증하도록 설계 ; 교차 문서 유효성 검사는 XSD에 기본 제공되지 않습니다.

크로스 도큐멘트 제약 조건을 표현하고 확인하기 위해 다른 스키마 언어 (Schematron 및 SML이 마음에 듭니다)를 사용할 수 있습니다.

XInclude를 사용하여 원본 문서를 모두 파트로 사용하여 단일 문서를 만든 다음 짝을 이루는 key 및 keyref 제약 조건을 사용하여 한 문서의 한 부분에있는 모든 Id 값이 복합 문서는 다른 부분의 Id 값과 일치하며 그 반대도 마찬가지입니다.

+0

Xpath가 필요하므로 Key와 KeyRef가 작동하지 않습니다. 포함 된 XSD의 속성에 대해 Xpath를 부여하려면 어떻게해야합니까? – user3652040