2017-11-16 17 views
1

xs:choicexs:sequence을 별도로 이해하지만 사용하지 않고 이해할 수 없음 xs:choicexs:sequence 의미?XSD 내부 시퀀스 선택

<xs:element name="sports-content"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element name="sports-metadata" /> 
     <xs:element name="sports-event" /> 
     <xs:element name="tournament" /> 
     <xs:element name="schedule" /> 
     </xs:choice> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

확인. 이 XML은 유효합니다.

<sports-content> 
    <sports-metadata /> 
    <tournament /> 
</sports-content> 

이 XML이 유효할까요?

<sports-content> 
    <sports-metadata /> 
    <tournament /> 
    <sports-metadata /> 
</sports-content> 

답변

1

XSD의 xs:sequence 요소가 불필요합니다. XML 문서의 유효성에 영향을주지 않고 제거 할 수 있습니다. xs:choice 주위의 xs:sequence은 유용합니다. 예를 들어, 항상 하나 이상의 요소가 순서대로 선행되거나 후행되도록 선택하려는 경우에 유용합니다.

예, 귀하의 질문에 XML 문서의 모두는 XSD에 대한 유효 (당신이 xs:choice 주위 xs:sequence 래퍼를 제거하면 될 것입니다.