XML Schema:complexType

时间:2017-07-04 07:03:42

标签: xml xsd schema

下面的xsd片段声明XML元素'Warrior'应该有三个属性,'Strength','Sword'和'Ax'。

<complexType name="Warrior">
  <complexContent>
    <extension base="Character">
      <sequence>
        <attribute name="Strength" type="integer"/>
        <attribute name="Sword" type="weapon"/>
        <attribute name="Axe" type="weapon"/>
      </sequence>
    </extension>
  </complexContent>
</complexType>

如何定义'Warrior'以获得'Strength'属性,并且使用'Sword'属性或'Ax'属性,但不能同时使用两者?

我假设使用'choice'指标,但我不知道如何构造complexType以同时使用'choice'和'sequence'指示符。

提前致谢。

1 个答案:

答案 0 :(得分:0)

尝试为武器定义simpleType,如下面的代码:

    <xs:simpleType name="weapon">
      <xs:restriction base="xs:string">
        <xs:enumeration value="axe" />
        <xs:enumeration value="sword" />
      </xs:restriction>
    </xs:simpleType>