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 :

Placement des balises avec DTD


Sujet :

Valider XML

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Placement des balises avec DTD
    Bonjour

    j'aimerais savoir comment faire pour avoir, avec un DTD la possibilitée de mettre les balises dans un ordre aléatoire

    <personne>
    <nom>...</nom>
    <prenom>...</prenom>
    <email>...</email>
    </Personne>

    est valide, ainsi que :

    <personne>
    <email>...</email>
    <nom>...</nom>
    <prenom>...</prenom>
    </Personne>


    parce que :
    , signifie : les éléments suivit de ...
    | corespond à un OU où les éléments sont forcéments mis aléatoiremenet
    mais il n'y a pas de nymbole pour dire : doit être donné dans nimporte-quel ordre ?

  2. #2
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    avec xml-schema on distingue les listes non ordonnées (xs:all) des listes ordonnées (xs:sequence), par contre avec une DTD je ne sais pas.

    je ne vois qu'une solution bien nulle : tu exposes toutes les possibilités. Il y en a factorielle n . Hum dans ton cas ca va encore car 3! = 6.

    <!element personne ((nom,prenom,email) | (nom,email, prenom) |....)>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    sacahnt que j'ai en fait 19 élements, l'autre était un exemple ...
    (soit 121645100408832000 possibilitées), j'ose mais imaginer la taille en Go du fichier...

    sinon, je sait pas utiliser les xml-schema...
    bon, vais lire des tutoriaux dessus...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2002
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 63
    Points : 36
    Points
    36
    Par défaut
    Ce sujet m'intéresse beaucoup aussi. Pourtant cela doit être possible avec une DTD de pouvoir avoir une liste non ordonnée d'éléments car le html permet de mettre des balises i b et u dans tous les sens possible non ? Je débute en xml et peut-être que je confond des notions, alors ne criez pas si je viens de dire une énormité

  5. #5
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    quel boulet! mais non je plaisante ta question est intéressante car elle met en évidence le problème.

    les balises i, b et u peuvent effectivement se mettre dans n'importe quel ordre, mais il n'est pas imposé quelle apparaisse un certain nombre de fois (un document html qui n'en comporterait pas serait aussi valide). De plus elle peuvent apparaître à plusieurs niveaux : dans le tag body, div, p, td, etc...

    Or le problème ici est d'imposer la présence de tous les éléments d'une liste dans le noeud personne, seul l'ordre n'est pas imposé. Je crois qu'une DTD ne le permet pas. On peut par contre imposer un ordre (c'est ce qui s'appelle une séquence, en séparant par des virgules).

    ex:

    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
    <xs:element name="personne">
     <xs:complexType>
      <xs:all>
       <xs:element name="nom" type="xs:string"/>
       <xs:element name="prenom" type="xs:string"/>
       <xs:element name="email" type="email"/>
      </xs:all>
     </xs:complexType>
    </xs:element>
     
    <xs:simpleType name="email">
     <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]+(@)[a-z]+(.)(fr|com|net|org)"/>
     </xs:restriction>
    </xs:simpleType>
    ex d'instance de schéma :
    <personne>
    <nom>toto</nom>
    <prenom>toto</prenom>
    <email>toto@free.fr</email>
    </personne>

    on peut aussi spécifier que nom, prénom, email sont dans n'importe quel ordre et que email n'est pas obligatoire en ajoutant minOccurs="0"

Discussions similaires

  1. Placement des balises
    Par stade13 dans le forum jQuery
    Réponses: 6
    Dernier message: 31/05/2012, 16h24
  2. supprimer des balises avec du JS
    Par 123quatre dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/08/2007, 11h13
  3. [DOM] Supprimer des balise avec dom
    Par Shandler dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 04/06/2006, 19h03

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