Bonjour,
J'ai l'impression que je viens de tomber sur une question "classique".
J'essaye de construire un schéma pour quelquechose comme :
<root>
<elem1>truc<elem1>
<elem2>toto</elem2>
<!-- soit elem3, soit elem4 -->
<elem3>titi</elem3>
</root>
Sachant que je veux que elem1, 2, 3 puissent apparaître dans n'importe
quel ordre.
Alors j'ai essayé :
<xs:element name="root
<xs:complexType>
<xs:all>
<xs:element name="elem1" type="xsd:String"/>
<xs:element name="elem2" type="xsd:String"/>
<xs:choice>
<xs:element name="elem3" type="xs:String"/>
<xs:element name="elem4" type="xs:String"/>
</xs:choice>
</xs:all>
</xs:complexType>
</xs:element>
Qui ne marche pas car xs:all ne peut pas contenir un xs:choice. Je me
demande bien pourquoi.
<xs:element name="root
<xs:complexType>
<xs:sequence>
<xs:element name="elem1" type="xsd:String"/>
<xs:element name="elem2" type="xsd:String"/>
<xs:choice>
<xs:element name="elem3" type="xs:String"/>
<xs:element name="elem4" type="xs:String"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
Fonctionne mais impose que les elements soient dans l'ordre indiqué.
Quelle est la solution ?
Merci !
BoD
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Dec 14 12:02:19 2004