As the type inside a list:
<xs:simpleType name="values"> <xs:list> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="one"/> <xs:enumeration value="two"/> <xs:enumeration value="three"/> </xs:restriction> </xs:simpleType> </xs:list> </xs:simpleType>
versus:
<xs:simpleType name="values"> <xs:list itemType="my:tokenValues"/> </xs:simpleType> <xs:simpleType name="tokenValues"> <xs:restriction base="xs:token"> <xs:enumeration value="one"/> <xs:enumeration value="two"/> <xs:enumeration value="three"/> </xs:restriction> </xs:simpleType>
As the type inside a union:
<xs:simpleType name="values"> <xs:union> <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1"/> <xs:minInclusive value="3"/> </xs:restriction> </xs:simpleType> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="one"/> <xs:enumeration value="two"/> <xs:enumeration value="three"/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType>