IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD] Enumerations imbriquées


Sujet :

Valider XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 39
    Points
    39
    Par défaut [XSD] Enumerations imbriquées
    Bonjour,

    Je cherche à écrire un schéma qui décrirais des possibilité d'énumérations à plusieurs niveaux. Par exemple je voudrais modéliser la chose suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    - catégorie A
      + catégorie A.1 
      + catégorie A.2
         * catégorie A.2.a
         * catégorie A.2.b
      + catégorie A.3
    - catégorie B
      + catégorie B.1 
      + catégorie B.2
    - catégorie C
    ...

    Au final un document xml suivant ce schéma devrait pouvoir contenir une sélection de catégories de différents niveaux (par exemple A.2.b, B.1 et C)

    J'ai réussis à modéliser la liste d'un sous niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsd:simpleType name="category">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="A" />
          <xsd:enumeration value="B" />
          <xsd:enumeration value="C" />
        </xsd:restriction>
      </xsd:simpleType>
    mais je ne vois pas de possibilité pour définir les imbrications.

    Quelqu'un aurait-il quelques suggestions pour résoudre ce problème ?

    Merci beaucoup.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    plutôt que d'utiliser une énumération, utilise une expression régulière (pattern).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 39
    Points
    39
    Par défaut
    Le problème c'est que les différentes catégories sont des listes fixées à l'avance.
    Par exemple nous pourrions y trouver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    - math
      + géométrie
         * du plan
         * dans l'espace
      + algèbre
    - chimie
    - physique
    ...
    Il s'agit donc de s'assurer que le document XML contiendra des éléments appartenant à cette liste.

    De plus un élément doit pouvoir être associé à plusieurs catégories et on peut aussi bien utiliser un catégorie générale qu'une catégorie spécifique

    par exemple un livre peut traité de physique, chimie et un autre de géométrie dans l'espace...

    Je vois très bien comment modéliser ça en objet, mais en XML schema, je sèche !

Discussions similaires

  1. Enumeration dans xsd
    Par edhecasa dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 28/08/2014, 16h04
  2. Réponses: 4
    Dernier message: 14/05/2009, 13h12
  3. [XSD] Une enumeration externe et idref
    Par Emplyst dans le forum Valider
    Réponses: 4
    Dernier message: 12/10/2006, 02h24
  4. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 17h15
  5. Fichiers xsd
    Par moxnico dans le forum Valider
    Réponses: 3
    Dernier message: 14/08/2002, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo