Bonjour,
Voici un extrait de mon XML
J'ai un fichier XSD permettant de valider mon xml. Dans mon schéma, j'ai mis une contrainte pour dire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <settings class="toto"> <setting name="monParam"> <value>valeur</value> </setting> <setting name="toto"> <value environnement="1">10</value> <value environnement="2">20</value> <value>42</value> </setting> </settings>
L'attribut environnement est optionnel. Il doit être unique.
Dans mon esprit, cela veut dire :
* Une seule balise possible avec la même valeur d'environnement
* Une seule balise possible avec un environnement non renseigné (l'attribut étant optionnel)
Le premier point fonctionne, le second non.
Une idée ?
Mon xsd :
Merci
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 <xs:complexType name="settings"> <xs:sequence maxOccurs="unbounded"> <xs:element name="setting" type="setting"> <xs:unique name="unique-setting-environment"> <xs:selector xpath="tag:value"/> <xs:field xpath="@environnement"/> </xs:unique> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="setting"> <xs:sequence maxOccurs="unbounded"> <xs:element name="value" type="value"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="value"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="environnement" type="common:EnvironnementKey" use="optional" default=""/> </xs:extension> </xs:simpleContent> </xs:complexType>
Partager