У меня есть файл ниже XML. Я пытаюсь создать уникальное ограничение в файле XML, чтобы идентификатор библиотеки был уникальным в библиотеке. Я пытался создать его, но смог создать уникальное ограничение внутри группы.
<library>
<group>
<groupName>Group 1</groupName>
<books>
<book>
<name>Aa</name>
<id>11</id>
</book>
<book>
<name>Bb</name>
<id>12</id>
</book>
</books>
</group>
<group>
<groupName>Group 1</groupName>
<books>
<book>
<name>Cc</name>
<id>11</id>
</book>
<book>
<name>Dd</name>
<id>14</id>
</book>
</books>
</group>
</library>
В данном файле имя книги 'Cc' имеет идентификатор 11, который совпадает с именем книги 'Aa и, следовательно, проверка должна потерпеть неудачу. Пожалуйста, помогите мне, где я go не так Вот мой файл xsd
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="library">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="group">
<xs:complexType>
<xs:sequence>
<xs:element name="groupName" type="xs:string" />
<xs:element name="books">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="id" type="xs:unsignedByte" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:unique name="uniqueRegAddr">
<xs:selector xpath="book"/>
<xs:field xpath="id"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>