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 :

[DTD] 2 éléments identiques possibles ?


Sujet :

Valider XML

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut [DTD] 2 éléments identiques possibles ?
    Bonjour, je souhaiterais avoir un fichier XML de la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <services>
      <service>
        <name></name>
        <label></label>
        <params>
          <param>
            <name></name>
            <initvalue></initvalue>
            <mandatory></mandatory>
            <editable></editable>
          </param>
          <param>
            <name></name>
            <initvalue></initvalue>
            <mandatory></mandatory>
            <editable></editable>
          </param>
        </params>
      </service>
     
     <service>
        <name></name>
        <label></label>
        <params>
          <param>
            <name></name>
            <initvalue></initvalue>
            <mandatory></mandatory>
            <editable></editable>
          </param>
          <param>
            <name></name>
            <initvalue></initvalue>
            <mandatory></mandatory>
            <editable></editable>
          </param>
        </params>
      </service>
    </services>
    Comme vous pouvez le constater, j'ai 2 fois l'élément name de présent : service name et param name. Est-ce valide ?

    Je souhaite également créer une DTD correspondantà ce besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
     
    <!ELEMENT services (service*) >
     
    <!ELEMENT service (name,label,params) >
    <!ATTLIST service id CDATA #REQUIRED>
    <!ELEMENT name (#PCDATA) >
    <!ELEMENT label (#PCDATA) >
    <!ELEMENT params (param+) >
     
     
    <!ELEMENT param (name,initvalue,mandatory,editable) >
    <!ELEMENT name (#PCDATA) >
    <!ELEMENT initvalue (#PCDATA) >
    <!ELEMENT mandatory (#PCDATA) >
    <!ELEMENT editable (#PCDATA) >
    Dans cette description, j'ai 2 fois l'élémént name. Dois-je le doubler ou non ?

  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,

    Citation Envoyé par erwan.bodere
    Comme vous pouvez le constater, j'ai 2 fois l'élément name de présent : service name et param name. Est-ce valide ?
    Oui, sans problème.
    Citation Envoyé par erwan.bodere
    Dans cette description, j'ai 2 fois l'élémént name. Dois-je le doubler ou non ?
    Non, tu ne dois pas le doubler. Pour le parser validant, il s'agit d'une seule et même définition d'élément.

    Là où tu pourrais avoir un problème, c'est si l'élément name avait deux modèles distincts selon qu'il est fils de service ou fils de param ; la seule solution pour valider ce genre de structure serait alors d'abandonner la DTD et de passer aux W3C XML Schemas (ou à Relax NG).
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

Discussions similaires

  1. Trouver les éléments identiques dans deux listes
    Par ricololo dans le forum MATLAB
    Réponses: 4
    Dernier message: 29/01/2009, 13h25
  2. Réponses: 3
    Dernier message: 05/10/2007, 13h19
  3. Réponses: 3
    Dernier message: 22/05/2007, 09h50
  4. éléments identiques dans une matrice
    Par isidore dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 11/12/2006, 21h02
  5. Gestion d'éléments identiques
    Par bomber dans le forum Schéma
    Réponses: 5
    Dernier message: 08/02/2006, 11h58

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