Tag: xmlvalidation

XML XSD架构 – 在架构中强制使用唯一的属性值

比方说,我有一个架构,定义了以下的XML: <Values> <Add Key="Key1">Value 1</Add> <Add Key="Key2">Value 2</Add> <Add Key="Key3">Value 3</Add> <Add Key="Key4">Value 4</Add> </Values> 我希望在模式层次上能够强制Key属性的值是唯一的,即上面的例子是有效的,但下面的例子是无效的: <Values> <Add Key="Key1">Value 1</Add> <Add Key="Key2">Value 2</Add> <Add Key="Key2">Value 3</Add> <Add Key="Key3">Value 4</Add> </Values> 请注意,有两个Add元素和一个Key2的Key 这里的参考是简单的模式: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Values"> <xs:complexType> <xs:sequence> <xs:element name="Add" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="Key" type="xs:token" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> […]