是否可以在 XML Schema 中表示一个简单类型,它是一个列表,并且具有进一步的限制,即列表中的每个项目只能出现一次?换句话说,是否可以在 XML Schema 中定义一个“set”简单类型?
例如,使用以下架构:
<xs:schema version="1.1" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="item">
<xs:restriction base="xs:token">
<xs:enumeration value="A"/>
<xs:enumeration value="B"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="itemSet">
<xs:list itemType="item"/>
</xs:simpleType>
<xs:element name="root">
<xs:complexType>
<xs:attribute name="set" type="itemSet"/>
</xs:complexType>
</xs:element>
</xs:schema>
本文件验证:
<root set="A B"/>
但是,此文档也是如此,我希望验证失败,因为B
它重复了:
<root set="A B B"/>
我怀疑仅使用 XML Schema 是不可能的,但我不太了解它,所以我正在寻找确认。