2014-10-23 4 views
0

사양 <child>가 "에서"<parent> 요소의 속성의 매개 변수를 금지해야하며XSD, XML 다른 자식 노드 1.0

valid 
    { <parent type="in" name="one"> 
     </parent> 

     <parent type="out" name="two"> 
     <child...> 
     </child> 
     </parent> } 



invalid 
    { <parent type="in" name="one"> 
     <child...> {this element mustn't be here} 
     </child> 
     </parent> 

     <parent type="out" name="two"> 
     <child...> 
     </child> 
     </parent> } 

어떻게 수있는 "에서"매개 변수와 함께 사용할 수 공인 딸 요소 주어진 조건은 XSD에서 실현 될 수 있습니까?

답변

0

따라서 특정 유형의 co-occurance constraint을 표현하려고합니다. 즉, type="in" 일 때 child이 허용됩니다. type="out" 일 때 child은 허용되지 않습니다.

저는 XSD를 사용하여 그렇게 할 수 있다고 생각하지 않습니다. 두 가지 유형을 정의 할 수 있습니다 (하나는 type="in"이고 다른 하나는 다른 요소를 정의 할 수 있습니다. 그런 다음 다른 요소를 파생시킬 수 있습니다. 하나는 자식을 허용하고 다른 하나는 그렇지 않지만 다른 하나는 동일한 요소 아래에 둘 다를 수행 할 수 없습니다.)

이 작업을 수행하려면 schematron이 필요하며 더 정교한 규칙을 작성할 수 있으며이 규칙을 적용하는 데 사용할 수있는 패턴 언어를 제공합니다.