Bonjour,
Je cherche à avoir une liste d'items, ayant chacun un attribut isPrimary qui puisse prendre la valeur true ou false (false étant par défaut). Mais il faut qu'un seul d'entre eux puisse avoir la valeur true.
Pour exemple, le xml suivant est valdie :
Le xml suivant, au contraire n'es pas valide, car deux éléments item ont la valeur true :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <items> <item value="blabla" isPrimary="true" /> <item value="blibli" isPrimary="false" /> <item value="bloblo" isPrimary="false" /> <item value="bleble" /> </items>
Pour l'instant j'ai le xsd suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <items> <item value="blabla" isPrimary="true" /> <item value="blibli" isPrimary="false" /> <item value="bloblo" isPrimary="true" /> <item value="bleble" /> </items>
Comment faire pour qu'un seul item contenu dans un élément <items> puisse avoir la valeur true?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <xs:complexType name="itemstype"> <xs:sequence> <xs:element name="item" type="itemtype" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <xs:complexType name="itemtype"> <xs:attribute name="isPrimary" type="xs:boolean" default="false"/> </xs:complexType>
Et au passage, si on peux obliger la valeur true quand il n'y a qu'un seul <item> dans la balise <items> mais c'est optionnel.
Partager