2010-10-22 10 views
0

Je veux définir un schéma qui permet aux éléments de l'enfant de se produire dans un ordre quelconque, semblable à <choice minOccurs="0" maxOccurs="unbounded"> mais permettra seulement un de chaque élément, similaire à <sequence minOccurs="1" maxOccurs="1">Schéma XML, un de chaque élément enfant?

peut-il être fait?

par exemple

<Root> 
<ele1> 
<ele3> 
<ele2> 
</Root> <!--Valid--> 

Et comme ci-dessous:

<Root> 
<ele1> 
<ele1> 
<ele3> 
</Root> <!--Invalid--> 

Répondre

0

Utilisez xs: tous plutôt que xs: séquence, vous écririez:

<xs:element name="Root"> 
    <xs:complexType> 
      <xs:all> 
       <xs:element name="element1"/> 
       <xs:element name="element2"/> 
       <xs:element name="element3"/> 
      </xs:all> 
    </xs:complexType> 
</xs:element> 
+0

AHA! Merci. J'ai découvert cela aussi dans mes tests. Merci! – Beta033

0

Vous pouvez ajouter maxOccurs="1" à l'élément.

+0

J'ai essayé plusieurs façons en plusieurs endroits, mais il ne semble pas être exécutée. Peut-être que je l'ai fait mal? – Beta033