类型MyType
的给定定义应该允许元素序列(A
),(B
),(C
),(A
, B
)和(A
,C
)。在验证时,我得到了一个"独特的粒子归属违规"错误。我该如何解决这个问题?
<xs:complexType name="MyType">
<xs:choice>
<xs:element name="A" type="AType"/>
<xs:sequence>
<xs:element name="A" type="AType" minOccurs="0"/>
<xs:choice>
<xs:element name="B" type="BType"/>
<xs:element name="C" type="CType"/>
</xs:choice>
</xs:sequence>
</xs:choice>
</xs:complexType>
答案 0 :(得分:0)
某些重构修复了唯一的粒子归因错误:
<xs:complexType name="MyType">
<xs:choice>
<xs:sequence>
<xs:element name="A" type="AType"/>
<xs:choice minOccurs="0">
<xs:element name="B" type="BType"/>
<xs:element name="C" type="CType"/>
</xs:choice>
</xs:sequence>
<xs:element name="B" type="BType"/>
<xs:element name="C" type="CType"/>
</xs:choice>
</xs:complexType>