Bonjour,
j'ai le schéma ci-dessous dans lequel j'ai quelques règles d'unicité. Comme dans l'exemple que je donne ci-dessous, j'ai à chaque fois positionné la balise <xs:unique> un niveau supérieur au dessus des objets dont une propriété doit être unique. Je pense que c'est possible de placer ces balises au niveau de l'objet lui-même, mais n'étant pas doué avec les chemins xpath je n'y suis pas arrivé.
En deux mots, j'aimerais que la clé d'unicité pour les emplacements de bidon par exemple soit indiquée dans le type Consommable, et non au niveau de l'élément racine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <xs:complexType name="TOTO"> <xs:annotation> <xs:documentation xml:lang="fr">toto</xs:documentation> </xs:annotation> <xs:sequence> ..... <xs:element name="portoir" type="Portoir" minOccurs="0" maxOccurs="unbounded"> <xs:unique name="unique-LignePortoir"> <xs:selector xpath="ligne"/> <xs:field xpath="@nom"/> </xs:unique> </xs:element> ...... <xs:element name="bidon" type="Consommable" minOccurs="0" maxOccurs="4"/> </xs:sequence> </xs:complexType> <!-- RACINE --> <xs:element name="toto" type="TOTO"> <xs:unique name="key-CAB"> <xs:selector xpath=".//*"/> <xs:field xpath="CAB"/> </xs:unique> <xs:unique name="unique-EmplacementBidons"> <xs:selector xpath="bidon"/> <xs:field xpath="@emplacement"/> </xs:unique> </xs:element>
Merci d'avance
Partager