我正在写一些 XSD,我对<choice>
标签只有一个基本的了解。我让它与一个部分一起工作,但不是另一个具有attribute
.
例如,所有元素都是可选的,但如果我没有一个,那么我需要另一个。如果有 2 个元素,这很好,但我有 3 个。
查看下面的架构部分。我可以有message
或scan
没有include
,或者我可以有include
但没有message
或scan
。
<xs:element name="messages">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="n:properties"/>
<xs:choice>
<xs:sequence>
<xs:element ref="n:message" maxOccurs="unbounded"/>
<xs:element ref="n:scan" minOccurs="0"/>
</xs:sequence>
<xs:element ref="n:scan"/>
</xs:choice>
<xs:attribute name="include"/>
</xs:sequence>
</xs:complexType>
</xs:element>
目前,这是可行的message
,scan
但显然给了我一个错误include
,因为我还没有选择。
谁能给我看一些我会怎么做的样本(message OR scan) OR include
?
谢谢