1 回答

TA貢獻1840條經(jīng)驗 獲得超5個贊
您的模式接受 [A]、[B & C] 或 [D] 的選擇。
另一種思考方式[A & B & C] or [A & D]是[A] followed by either [B & C] or [D]。這可以在 XSD 中表示,方法是將 A 元素從選項中移出到一個序列中,如下所示:
<xs:element name="abcd">
? ? <xs:complexType>
? ? ? ? <xs:sequence>
? ? ? ? ? ? <xs:element name="A" type="xs:string"/>
? ? ? ? ? ? <xs:choice>
? ? ? ? ? ? ? ? <xs:sequence>
? ? ? ? ? ? ? ? ? ? <xs:element name="B" type="xs:dateTime"/>
? ? ? ? ? ? ? ? ? ? <xs:element name="C" type="xs:decimal"/>
? ? ? ? ? ? ? ? </xs:sequence>
? ? ? ? ? ? ? ? <xs:element name="D" type="xs:dateTime"/>
? ? ? ? ? ? </xs:choice>
? ? ? ? </xs:sequence>
? ? </xs:complexType>
</xs:element>
添加回答
舉報