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] alternative dans la séquence [Débutant(e)]


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut [DTD] alternative dans la séquence
    Bonjour à tous,

    J'écris actuellement mon premier doctype et malgré la doc que j'ai trouvée, il reste quand même un certain nombre de zones d'ombre.

    Je cherche à définir un élément qui devrait pouvoir contenir, soit un unique noeud textuel, soit un unique élément défini par ma dtd.

    Comme c'est relativement court, je mets mon doctype entier:
    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
    <!ELEMENT sections (section+) >
    
    <!ELEMENT section (fullname, description, contenu?) >
    <!ATTLIST section
    		name ID #REQUIRED
    		accessibility CDATA "0"
    >
    
    <!ELEMENT fullname (#PCDATA)>
    <!ELEMENT description (#PCDATA)>
    
    <!ELEMENT contenu (#PCDATA | ref) >
    
    <!ELEMENT ref EMPTY >
    <!ATTLIST ref href CDATA #REQUIRED >
    La ligne qui semble poser problème est celle en rouge,
    apparement, ma syntaxe n'est pas correcte, mais je n'ai pas compris...

    Message concernant cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [errormessage] => MixedContentDecl : '|' or ')*' expected
    Merci de vos conseils.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

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

    ta balise <contenu> a ce qu'on appelle un modèle contenu mixte, ce qui veut dire qu'elle peut contenir un nombre arbitraire de noeuds textuels et de balises <ref> ; la spécification XML impose certaines restrictions sur ce type de modèle, notamment sur la cardinalité, qui doit être forcément *. La syntaxe correcte est donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!ELEMENT contenu (#PCDATA | ref)* >
    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

  3. #3
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Effectivement, je n'ai plus d'erreur dans ma dtd.

    J'en déduis donc que ce que je cherche à faire est impossible en utilisant une validation par doctype. Est-ce bien ca?
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Citation Envoyé par MasterOfChakhaL
    J'en déduis donc que ce que je cherche à faire est impossible en utilisant une validation par doctype. Est-ce bien ca?
    C'est effectivement cela. Et ce même genre de contrainte se retrouve à peu près sous la même forme dans les W3C XML Schemas. D'où la nécessité, quand c'est possible, d'éviter les modèles de contenu mixte...
    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

  5. #5
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    ah ben c'est dommage...

    Je pensais avoir trouvé une excuse pour me mettre au xsl...
    Tant pis, ca sera pour la prochaine fois.

    Je te remercie pour ces précisions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

Discussions similaires

  1. [XML]EntityResolver / Validation DTD fourni dans le jar
    Par Julaie95 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 30/12/2008, 23h37
  2. Réponses: 0
    Dernier message: 17/09/2008, 13h55
  3. [DTD] xhtml dans xml
    Par dolly2 dans le forum Valider
    Réponses: 3
    Dernier message: 30/10/2006, 17h23
  4. [DTD] xhtml dans un du xml
    Par MatRem dans le forum Valider
    Réponses: 9
    Dernier message: 12/07/2006, 19h30
  5. Réponses: 3
    Dernier message: 13/04/2006, 14h49

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