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 :

confusion sur xs:choice


Sujet :

Valider XML

  1. #1
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut confusion sur xs:choice
    Bonjour à tou(te)s

    xs:choice est défini comme:

    XML Schema choice element allows only one of the elements contained in the <choice> declaration to be present within the containing element.
    Alors c'est assez confus...

    Moi j'avais compris que le parent ne pouvait contenir que 0, un ou plusieurs instance d'un seul type d'élément (à choisir donc) dont leur type donné se trouve parmi tous les éléments types proposés par choice (comme une sorte d'énumération) et cet élément pouvait être affiché 0, 1 ou n fois....(suivant l'attribute min/maxOccurs)

    Hors il semble qu'en fait le parent pouvait contenir plusieurs types d'éléments dont leur type est proposé par choice, et ces éléments pouvaient être affichés 0, 1 ou n fois....(suivant l'attribute min/maxOccurs)

    Par exemple moi j'avais compris

    Parent, Parent/e1 ou Parent/e2, Parent/e1 e1, Parent/e2 e2 sont possibles

    Hors il est autorisé de faire Parent/ e1 e2, Parent/ e1 e1 e2, Parent/e1 e2 e2 etc... (plusieurs types d'éléments acceptés donc chez le parent)

    Voilà j'espère que ma question n'est pas trop confuse aussi


    Merci si vous pouvez m'éclaicir

    Bonne journée

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    En gros, l'élément choice correspond au (...|...) en DTD, ni plus ni moins.

  3. #3
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse Loceka cela veut dire quoi car je ne connais pas bien DTD aussi

    Est ce que cela veut dire prendre le ou les type(s) que vous voulez parmi la liste proposée (..|..|...) au sein du parent?

  4. #4
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Après avoir lu la doc (je maîtrise pas très bien le XSD), je doute un peu de ce que je viens de dire.

    En tout cas en DTD, (a|b|c) signifie "un et un seul élément parmis a, b et c". Du coup quand tu écris (a|b|c)+, ça signifie un et un seul élément entre a, b et c autant de fois que tu veux (donc tu répètes le choix à chaque fois).

  5. #5
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    Je pense que tu as raison il y a justement des attributs
    minOccurs="0" maxOccurs="unbounded" dans choice,

    je pense que par défaut il sont à 1

    maxOccurs
    The maximum number of times the choice can occur. The value can be an integer greater than or equal to zero. To set no limit on the maximum number, use the string "unbounded". Default value is 1.

    Optional.

    minOccurs
    The minimum number of times the choice can occur. The value can be an integer greater than or equal to zero. To specify that this choice group is optional, set this attribute to zero. Default value is 1.

    Optional.
    là cela veut dire que l'on peut répéter ce choix 0, 1 ou x fois parmi un seul type des types à disponibilité,

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Confusion sur les connexions datasource
    Par SonnyFab dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/09/2010, 15h47
  2. confusion sur le passage par reference
    Par Jcpan dans le forum Langage
    Réponses: 3
    Dernier message: 19/01/2010, 16h03
  3. Confusions sur les permissions d'existence des tables
    Par DEV-10 dans le forum Développement
    Réponses: 28
    Dernier message: 15/10/2009, 15h37
  4. [CSV] Confusion sur caractères de séparation
    Par WouWi dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2008, 10h56
  5. confusion sur regles de gestion
    Par thaundeadboss dans le forum Schéma
    Réponses: 3
    Dernier message: 19/05/2008, 14h00

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