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 :

Erreur d'analyse XML : entité non définie


Sujet :

XML/XSL et SOAP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2011
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Erreur d'analyse XML : entité non définie
    Bonsoir,

    Mozilla me renvoie :
    Erreur d'analyse XML : entité non définie
    Emplacement : http://www.valeriefondela.doobee.fr/body.xml
    Numéro de ligne 9, Colonne 1 :
    <img src="Imx/valerie.png" infotexte="Val&eacute;rie &lt;nom&gt;Fondela&lt;/nom&gt;" />
    ^

    Comment se fait-ce ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ce doit être le &eacute;
    C'est une entité définie en HTML et XHTML, mais pas pour n'importe quel document XML.
    De toute façon, on est en 2011. Tu n'en as pas besoin -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    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
    Il faut que tu définisses l'entité dans ton document XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!ENTITY % eacute "é" >
    etc.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Non, pas de %, non.

    Et puis, il est passablement plus simple de juste taper les é tels que.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    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 effet.

    On a ça dans toutes nos DTD nous (j'avais justement regardé pour être sûr). Mais après ta remarque je comprends que c'est pas adapté ici http://xmlwriter.net/xml_guide/entity_declaration.shtml

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Pour une explication un peu plus complète,

    - si tu mets le %, c'est une "parameter entity"
    - si tu n'en mets pas ( <!ENTITY eacute "é" >, ) c'est une "internal entity" toute simple.

    Les "parameter entities" peuvent apparaître dans la DTD à la suite de leur déclaration, mais pas en dehors de la DTD. C'est presque comme des macros C qui peuvent à l'envi être mal formées et intégrer la syntaxe du langage, à interpréter. C'est pratique pour éviter les répétitions, mais ça n'a rien à faire dans le document, qui doit quand même être lisible dans une certaine mesure par des parseurs non validants qui zappent la DTD complètement.

    Les "internal entities" qui ne sont pas parameter, ont un contenu bien formé, et assurent donc que les intégrer quelque part ne rendra pas un document mal formé. Elles peuvent donc y figurer (et c'est d'ailleurs le but, car dans la DTD elles ne peuvent servir que de contenu à d'autres "internal entities".)

    Au passage, pour faire une référence de parameter entity, c'est %eacute; alors que pour une entité non parameter, c'est &eacute;
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Je ne suis pas certain de bien comprendre la réponse de thelvin. J'utilise régulièrement une entité paramètre dans mes documents. Voici un exemple et son contexte.

    Dans la rédaction d'un document, j'ai besoin de la définition de multiples entités. Ces définitions sont réparties dans un ensemble de fichiers, par catégories. Pour charger ces fichiers dans mon document, j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <!DOCTYPE chapter
    [ 
        ... ici définition de quelques entités internes ...
        <!ENTITY % entites SYSTEM   "inclusions/entites.ent"> 
    %entites; 
    ]>
     
    <chapter 
     etc ...
    Je peux alors utiliser dans mon texte des entités comme &oelig; etc.

    Il s'agit bien d'une entité paramètre, mais *dans le document*. Ce n'est pas un usage fréquent, et il existe peut-être une autre façon de faire, mais il me semble que cet usage contredit l'affirmation selon laquelle les entités paramètres ne s'utilisent pas dans le document.

    Peux-tu préciser, thelvin ?

    Cordialement.

  8. #8
    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
    Là tu n'utilises pas ta "parameter entity" dans le XML mais dans la partie DTD de ton document XML.

    Comme il est dit sur le site que j'ai posté et comme l'a dit thelvin, elles ne peuvent être utilisées que dans la DTD. Elles ne sont pas "visibles" par le XML.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Merci pour la réponse. C'est compris.

    Cependant, existe-t-il un moyen de faire la même chose, mais sans introduire dans le document ce "bout de DTD" qui vient apporter un élément "exogène" puisque mes documents sont validés par un schéma RNG ?

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par haro2011 Voir le message
    Cependant, existe-t-il un moyen de faire la même chose, mais sans introduire dans le document ce "bout de DTD" qui vient apporter un élément "exogène" puisque mes documents sont validés par un schéma RNG ?
    Non. Interne ou externe, seule une DTD peut définir d'autres entités que les entités prédéfinies : lt, gt, amp, quot et apos.

    Il est toutefois possible d'utiliser des références de caractère : dans le cas de œ, ce serait &#x153; ou œ.

    Personnellement, je préfère me passer autant que possible de ce mécanisme d'entités assez contraignant. Par exemple en remplaçant par des balises (dans le genre, là ce serait <oelig/>.)
    Ou alors, simplement mettre le contenu directement, œ. Depuis près de 7 ans je ne vois plus l'intérêt de choses comme &oelig; : autant mettre œ directement, et si on peut pas, quelle différence avec &#x153; ? Les deux rendent le texte illisible...
    Pour des trucs comme les espaces insécables, invisibles sous leur forme directe, je définis des balises comme <nbsp/>.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    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
    Et t'en fais quoi de tes balises après ?

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Et t'en fais quoi de tes balises après ?
    ? La même chose que mes balises <document>, <paragraphe>, <truc>, <solution> et toutes les autres :
    j'en fais ce qui doit être fait pour atteindre mon but.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 29
    Dernier message: 17/09/2007, 10h29
  2. [XML] Erreur d'analyse XML : mal formé
    Par kespan dans le forum Valider
    Réponses: 2
    Dernier message: 15/01/2007, 18h57
  3. Erreur d'analyse XML : mal formé
    Par arsenik7 dans le forum Valider
    Réponses: 2
    Dernier message: 16/11/2006, 10h40
  4. [SQL] Erreur d'analyse XML : mal formé
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/08/2006, 09h10
  5. Erreur d'analyse XML : entité non définie
    Par ToxiZz dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/01/2006, 13h22

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