#xsd #schema
#xsd #схема
Вопрос:
Как можно управлять ключевым словом choice, чтобы выполнить следующее условие:
(Subject amp;amp; MessageBody) || (Subject || MessageBody)
У меня есть:
<xs:choice>
<xs:element ref="Subject"/>
<xs:element ref="MessageBody"/>
</xs:choice>
Однако Subject и MessageBody не могут сосуществовать в complexType, поскольку set применяет условие XOR.
Ответ №1:
Это решение, которое я, наконец, придумал:
<xs:choice>
<xs:sequence>
<xs:element ref="engine"/>
<xs:element ref="Type" minOccurs="0"/>
</xs:sequence>
<xs:sequence>
<xs:element ref="Type"/>
<xs:element ref="engine" minOccurs="0"/>
</xs:sequence>
</xs:choice>