如何从另一个枚举中限制xsd元素的值?

时间:2017-02-07 07:08:54

标签: xml xsd

让我说我有枚举:

<xs:simpleType name="wheelerType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="2-wheeler"/>
    <xs:enumeration value="4-wheeler"/>
  </xs:restriction>
</xs:simpleType>

现在我正在定义另外两个元素,如下所示。

<xs:element name="Bike" type="wheelerType"/>
<xs:element name="Car" type="wheelerType"/>

现在我如何限制自行车只有2轮车和只有4轮车?

1 个答案:

答案 0 :(得分:0)

XML Schema允许使用类似的构造进一步限制类型:BikeCar元素可以与匿名简单类型相关联,这些类型将wheelerType中引入的枚举优化为仅2-惠勒或4轮车。

<xs:element name="Bike">
    <xs:simpleType>
        <xs:restriction base="wheelerType">
            <xs:enumeration value="2-wheeler"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>
<xs:element name="Car">
    <xs:simpleType>
        <xs:restriction base="wheelerType">
            <xs:enumeration value="2-wheeler"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>