一组值的限制:定义许多元素可用的类型(XML 模式)

Restrictions on a set of values: defining a type usable by many elements (XML Schema)

我找到了here以下关于对一组值进行限制的示例,但我不知道如何在其他元素中使用类型 carType。

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

也许是这样?我是否需要重写有关 carType 的所有行?

<xs:element name="car2" type="carType"/>

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

您只需定义一次类型:

<xs:simpleType name="carType">
  <xs:restriction base="xs:string">
    <xs:enumeration value="Audi"/>
    <xs:enumeration value="Golf"/>
    <xs:enumeration value="BMW"/>
  </xs:restriction>
</xs:simpleType>

和 re-use 它用于您需要的尽可能多的元素:

<xs:element name="car" type="carType"/>
<xs:element name="car2" type="carType"/>