Condition basée sur la valeur de l'attribut (schéma XML)
Est-il possible de définir un Schéma XML à une condition fondée sur la valeur de l'attribut? Par exemple, lorsque test@attrib="one"
je veux one-element
et obligatoire ou lorsque test@attrib="two"
je veux two-element
et obligatoire.
Par exemple, des documents valides sont:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
ou
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<two-element>
</two-element>
</root>
Faux documents:
<root>
<test attrib="one"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
</root>
ou
<root>
<test attrib="two"/>
<some-element-1/>
<some-element-2/>
...
<some-element-n/>
<one-element>
</one-element>
</root>
Est-il possible dans XSD?
source d'informationauteur Pol | 2012-01-10
Vous devez vous connecter pour publier un commentaire.
Pas dans le même type. Vous devez définir un type différent pour chacune des différentes options.
Mise à JOUR
À ré-utiliser les définitions de type dans votre schéma:
Valider:
et