Предположим, у меня есть два набора элементов S1={A, B, C}
и S2={D, E, F}
, и только элементы S1
или S2
допускаются одновременно с дочерними элементами.
Так что это будет разрешено:
<Parent>
<A>
<B>
</Parent>
Но это не будет разрешено:
<Parent>
<A>
<B>
<D>
</Parent>
Кто-нибудь знает, как написать это правило как XML схема 1.0?
В основном мне нужно что-то вроде:
<xs:element name="Parent" type="ParentType" />
<xs:complexType name="ParentType">
<xs:complexContent>
<xs:all>
<xs:choice>
<xs:group>
<xs:element name="A"/>
<xs:element name="B"/>
<xs:element name="C"/>
</xs:group>
<xs:group>
<xs:element name="D"/>
<xs:element name="E"/>
<xs:element name="F"/>
</xs:group>
</xs:choice>
</xs:all>
</xs:complexContent>
</xs:complexType>
К сожалению, это невозможно с версией XSD 1.0.
Кто-нибудь знает, как это сделать?