Comment puis-je assurer l'unique élément de valeurs dans un schéma XML?
Je veux m'assurer qu'il n'y a pas de dupliquer les titres de livres dans le code xml suivant:
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="books3.xsd">
<book>
<title>Book1</title>
</book>
<book>
<title>Book2</title>
</book>
<book>
<title>Book1</title> <!-- duplicate should not be allowed -->
</book>
</books>
Je suis en utilisant le schéma suivant:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="books">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="book"/>
</xs:sequence>
</xs:complexType>
<xs:unique name="testUnique">
<xs:selector xpath="book"/>
<xs:field xpath="title"/>
</xs:unique>
</xs:element>
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="title" type="xs:NCName"/>
</xs:schema>
oXygen XML editor me dit que c'est valable quand j'ai valider.
Tout le monde peut voir ce que je fais de mal?
Vous devez vous connecter pour publier un commentaire.
le schéma semble ok et doit détecter les doublons. peut-être un bug dans l'Oxygène?
vous pouvez essayer ce site pour valider votre xml : http://www.xmlvalidation.com
et vous verrez qu'il trouve des erreurs dans votre xmldocument: