我们可以在XSD中说一些规则:所有这些具有ID作为其属性的元素应该将其视为唯一ID,以便其他元素不应该使用该ID。 如何应用getElementById(“id”)仅在此之后才有效。XSD应用全局规则
感谢
我们可以在XSD中说一些规则:所有这些具有ID作为其属性的元素应该将其视为唯一ID,以便其他元素不应该使用该ID。 如何应用getElementById(“id”)仅在此之后才有效。XSD应用全局规则
感谢
如果你只为你的标识数字,不能使用的xs:ID。 然后这里是一个示例模式:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="root" type="rootType">
<xs:key name="attritemIdentifier">
<xs:selector xpath="item"/>
<xs:field xpath="@XYZ"/>
</xs:key>
</xs:element>
<xs:complexType name="rootType">
<xs:sequence>
<xs:element name="item" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="XYZ" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
这里是一个有效的实例:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item XYZ="12345">item0</item>
<item XYZ="XYZ1">item1</item>
<item XYZ="XYZ2">item2</item>
<item XYZ="XYZ3">item3</item>
<item XYZ="XYZ4">item4</item>
<item XYZ="XYZ5">item5</item>
<item XYZ="XYZ9">item6</item>
<item XYZ="XYZ7">item7</item>
</root>
只要你有XYZ属性具有相同的值,你会得到以下错误:
CVC-身份constraint.4.2.2:复制密钥值[XYZ9]申报 用于标识约束元件的 “根” 的 “attritemIdentifier”
您必须使用xs:key元素。请参阅:http://stackoverflow.com/questions/4491983/xml-schema-key-keyref-how-to-use-them –
当我使用xsd:ID得到这个错误 - > attribucvc-datatype-valid.1.2。 1:'41537'对'NCName'.te不是有效的值。它给我一些weired错误: – Chandan
关于xsd:id,这个类型必须是一个NCName,因此不能以数字开头。这是一种古怪的类型。 –