私はいくつかの XSD を書いていますが、<choice>
タグの基本的な理解しかありません。あるセクションで動作していますが、attribute
.
たとえば、すべての要素はオプションですが、一方がない場合はもう一方が必要です。これは要素が 2 つあれば問題ありませんが、私は 3 つ持っています。
以下のスキーマセクションを見てください。I can have message
or scan
and not include
or I can have include
and not message
or 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
か?
ありがとう