Re: XML Schema : Ordre et occurrence d'elements

Eric van der Vlist <[email protected]> Wed, 13 Feb 2008 15:17:45 +0100
Newsgroups gmane.text.xml.french.tech
Organization Dyomedea (http://dyomedea.com)
Message-ID <1202912265.29467.19.camel@localhost>
Bonjour,

Le mercredi 13 février 2008 à 14:50 +0100, Eric Tournier a écrit :
> Bonjour,
>  
>   Je cherche à décrire via un schema XSD la hiérarchie suivante :
> <A>
> <a1></a1>
> <a2></a2>
> <a3></a3>
> <aa></aa>
> <aa></aa>
> <aa></aa>
> </A>
>  
> avec les conditions :
> 1- les balises <a1>, <a2>, ... <an> apparaissent de 0 à 1 fois, dans
> n'importe quel ordre
> 2- il y a de 0 à n balises <aa>
> 3- si aucune balise <a1>, <a2>, ... <an> n'est présente, alors il doit
> y avoir au moins une balise <aa>
> 4- les blocs <a1>, <a2>, ... <an> et <aa> ne se mélangent pas (c-a-d
> <a1>, <a2>, ... <an> et <aa> ou bien <aa> et <a1>, <a2>, ... <an>)
>  
>   N'étant pas un cador en XSD, je me débats avec les differentes
> restrictions/combinaisons autour de xs:all, xs:sequence, xs:group, etc
> sans parvenir à mes fins. Je n'ai pour l'instant qu'une solution
> dégradée : utiliser xs:sequence et renoncer aux conditions 1) et 3)
>  
>   L'un d'entre vous pourrait-il m'aider (ou me dire que cela n'est pas
> possible) ?

Vous vous heurtez à une restriction de W3C XML Schema et il n'y a pas de
solution à ce type de problème dans le cas général...

Il faut donc que vous acceptiez soit :

      * de changer de langage de schéma (RELAX NG permet de décrire ce
        type de modèles sans aucun problème)
      * de changer la structure de vos documents XML (si vous encapsulez
        les éléments à occurrence multiple dans des éléments
        intermédiaires, cela sera plus facile avec W3C XML Schema)
      * d'accepter des schémas "dégradés" comme vous le dites qui seront
        soit plus contraignant que ce que vous souhaitez soit au
        contraire moins contraignant.

Cordialement,

Eric van der Vlist

-- 
GPG-PGP: 2A528005
Curious about Relax NG? Read my book online.
                                   http://books.xmlschemata.org/relaxng/
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------


-- Attached file included as plaintext by Ecartis --

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBHsvwJDvn+ZCpSgAURAkqOAJ40dnUQ6wAiPiAeV5/7IcGtBwaOfQCfSZiI
20CDJa4EJIVbULzC+7lvHqs=
=LgBl
-----END PGP SIGNATURE-----