如何在XSD中定义所需属性组?

时间:2011-06-27 18:13:29

标签: attributes xsd requirements

假设我希望元素XXX可以具有属性AAA以及对中的属性BBB或属性CCC以及对中的DDD但是从不将AAA与DDD混合或类似。

我该如何定义?

由于

1 个答案:

答案 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>

希望这会对你有所帮助。