Disons que j'ai un schéma qui définit le XML suivant :
<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>
J'aimerais, au niveau du schéma, pouvoir imposer que les valeurs de l'attribut Key soient uniques, c'est-à-dire que l'exemple ci-dessus est valide, mais que l'exemple suivant serait invalide :
<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>
Remarquez qu'il y a deux Add
avec un Key
de Key2
Pour référence, voici le schéma simple :
<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>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
J'ai l'impression que ce n'est pas possible au niveau du schéma, mais je suis tout ouïe.