假设我希望元素XXX可以具有属性AAA以及对中的属性BBB或属性CCC以及对中的DDD但是从不将AAA与DDD混合或类似。
我该如何定义?
由于
答案 0 :(得分:3)
这在xsd中不可用。如果要将属性限制为两个分组,则需要定义两个元素,每个元素对应一个属性分组。例如:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:choice>
<xs:element name="MyType1">
<xs:complexType>
<xs:attribute name="AAA" type="xs:string" />
<xs:attribute name="DDD" type="xs:string" />
</xs:complexType>
</xs:element>
<xs:element name="MyType2">
<xs:complexType>
<xs:attribute name="BBB" type="xs:string" />
<xs:attribute name="CCC" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
希望这会对你有所帮助。