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

XML/XSL et SOAP Discussion :

[XML] caractères spéciaux dans un type NMTOKEN


Sujet :

XML/XSL et SOAP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 162
    Points : 72
    Points
    72
    Par défaut [XML] caractères spéciaux dans un type NMTOKEN
    Bonjour,

    Dans ma DTD j'ai déclaré certains attributs de type NMTOKENS.
    Il apparait que lorsque j'énumère mes NMTOKEN dans mon fichier XML, j'ai une erreur dès qu'il y a un caractère spécial de type "=" ou "&" etc...
    J'ai essayé d'utiliser les notations type & mais j'ai toujours l'erreur...

    Quelqu'un aurait-il une idée pour que je puisse utiliser dans ma liste ce type de caractère?
    Merci

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    normallement si tu mets les entitées ca devrait fonctionner
    tu pourrais nous montrer un petit exemple ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 162
    Points : 72
    Points
    72
    Par défaut
    voila pour l'exemple :

    ma DTD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <!ELEMENT operateur ( egal | superieur | inferieur | different )>
        <!ELEMENT egal EMPTY>
        <!ATTLIST egal name NMTOKENS #REQUIRED>
    et mon fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <operateur>
                    <egal name="égal egal ="></egal>
                </operateur>
    Si j'enlève le signe "=" je n'ai plus d'erreur évidemment...

    Si j'ai bien compris ce que sont les entités, cela va m'obliger à déclarer ma liste dans la DTD? Et ça ça ne me plait pas... Je voudrais que cette liste n'apparaisse que dans mon XML...

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    ah j'avais mal compris
    mets "CDATA" à la place "NMTOKEN"

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 162
    Points : 72
    Points
    72
    Par défaut
    alors ma question deviens comment est ce que je peux faire des listes de CDATA? De la même façon que je fais une liste de NMTOKEN avec le type NMTOKENS ?

  6. #6
    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,

    NMTOKENS désigne une suite de tokens XML, qui doivent respecter les régles de construction XML (pas de chiffres au début, uniquement caractères alpha)

    Tu ne peux pas faire de liste de CDATA dans un attribut. Tu peux par contre faire une liste d'entités avec ENTITIES, avec des entité déclarées préalablement dans la DTD avec ENTITY.

    Tu as aussi la possibilité de mettre tes opérateurs dans des éléments plutôt que dans un attribut.
    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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 162
    Points : 72
    Points
    72
    Par défaut
    Ok merci pour ces précisions...

    J'en conclue donc qu'il n'y a pas de solution si je ne veux pas déclarer ces caractères spéciaux dans ma DTD... (car mettre mes opérateurs dans un élément m'oblige aussi à les déclarer dans la DTD...) Or j'aimerai que ma DTD définisse simplement une grammaire et que ce soit un ou plusieurs fichiers XML qui définisse le "vocabulaire" type ("égal", "=", "==") etc...

    Donc pas de solution idéale pour mon problème

    Tant pis!!

    Merci pour votre aide

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 162
    Points : 72
    Points
    72
    Par défaut
    Pour info j'ai donc mis un CDATA pour mes attributs. Dans mon fichier XML j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <egal name="égal,=,=="/>
    Et je parse ensuite chacun des mots avec la virgule pour créer ma liste...

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

Discussions similaires

  1. Caractères spéciaux dans colonne Xml
    Par yanisridak dans le forum C#
    Réponses: 2
    Dernier message: 21/10/2013, 11h45
  2. Remplacer les caractères spéciaux dans xml
    Par panda31 dans le forum Développement de jobs
    Réponses: 14
    Dernier message: 19/10/2011, 09h53
  3. Caractères spéciaux dans les tags XML : soucis sur les getters
    Par schtroumpfNormand dans le forum Services Web
    Réponses: 4
    Dernier message: 09/08/2011, 14h06
  4. Caractères spéciaux dans fichier XML
    Par Kembali dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/02/2011, 10h35

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