复杂类型定义违反唯一粒子属性
Complex Type definition violates unique particle attribution
类型 MyType
的给定定义应允许元素序列 (A
), (B
), (C
), (A
、B
) 和 (A
、C
)。验证时出现 "unique particle attribution violation" 错误。我该如何解决这个问题?
<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>
一些重构修复了独特的粒子属性错误:
<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>
类型 MyType
的给定定义应允许元素序列 (A
), (B
), (C
), (A
、B
) 和 (A
、C
)。验证时出现 "unique particle attribution violation" 错误。我该如何解决这个问题?
<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>
一些重构修复了独特的粒子属性错误:
<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>