또 다른 XSD 질문은 - 어떻게 다음과 같은 XML 요소가 모두 유효하다는 것을 얻을 수 있습니다다른 하위 요소는
<some-element>
<type>1</type>
<a>...</a>
</some-element>
<some-element>
<type>2</type>
<b>...</b>
</some-element>
하위 요소 (중 하나<a>
또는<b>
을)은 <type>
의 내용 (특성 일 수도 있음)에 따라 달라야합니다. 그것은 RelaxNG 그렇게 간단 할 것이다 - 그러나 RelaxNG는
참고 : XML 스키마 버전 1.1 <xs:alternative>
을 지원하는 솔루션이 될 수있는? .,하지만 참조 구현 (예 : libxml2를) AFAIK 그래서 해결 방법을 찾고 있어요 아직 지원 내가 함께 왔어요 유일한 방법은 다음과 같습니다..
<type>1</type>
<some-element type="1">
<!-- simple <xs:choice> between <a> and <b> goes here -->
<a>...</a>
</some-element>
<!-- and now create a keyref between <type> and @type -->