Bonjour à tous,
Voici mon problème :
Je souhaite créer le XSD permettant de valider les XML suivants :
OU
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <empty x="0" y="7"> <lantern lighting="0" /> </empty>
OU
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <empty x="0" y="7"> <ball /> </empty>
mais surtout pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <empty x="0" y="7"> </empty>
ni
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <empty x="0" y="7"> <lantern lighting="0" /> <ball /> </empty>
ni
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <empty x="0" y="7"> <lantern lighting="0" /> <lantern lighting="1" /> </empty>
En fait je souhaite avoir, soit un seul des deux (ball ou lantern), soit aucun.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <empty x="0" y="7"> <ball /> <ball /> </empty>
Pour cela, j'ai essayé avec uncomme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part xs:choice
mais cela n'invalide pas lorsque je met plusieurs balises.
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 <xs:element name="empty"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element ref="lantern" /> <xs:element ref="ball" /> </xs:choice> </xs:complexType> <xs:attribute ref="x" use="required"/> <xs:attribute ref="y" use="required"/> </xs:element> <xs:element name="lantern"> <xs:complexType> <xs:attribute ref="lighting" use="required"/> </xs:complexType> </xs:element>
Auriez vous une idée ?
Merci beaucoup
Partager