Bienvenue Prénom - Déconnexion

Mot de passe oublié ?Accès membres : merci de vous identifier

BOURSE

RUBRIQUES

 
 PRATIQUE XML 
Du HTML dans XML
 
"Comment inclure des balises HTML dans un document XML ?" (07/04/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

XML est un langage de balises, tout comme HTML, donc on peut facilement comprendre que, malgré le côté "conteneur universel de données", il n'est pas possible d'inclure directement du HTML dans un fichier XML sans provoquer des erreurs à un moment ou à un autre.

La logique voudrait que l'on puisse placer du HTML dans XML via la section CDATA de XML. Le contenu de cette dernière n'est pas pris en compte par les parseurs XML, donc il est fréquent d'y glisser tout ce qui est susceptible de briser la délicate harmonie du balisage XML.

<?xml version="1.0"?>
<page>
<![CDATA[
  <title>Page HTML</title>
  <ul>
    <li>Hop</li>
    <li>Pouet</li>
  </ul>
]]>
</page>

Un problème peut cependant se poser si le fichier doit passer par un parseur XML pour récupérer le HTML, par exemple avec XSLT. Le parseur ignorant la section CDATA, on ne peut l'utiliser que pour citer du code HTML (l'afficher tel quel), et non pour le voir traité correctement.

Une solution possible semble être d'utiliser l'espace de nom correct, afin de ne pas troubler XML :

<?xml version="1.0"?>
<page xmlns:html="http://www.w3.org/TR/REC-html40">
  <html:title>Page HTML</title>
  <html:ul>
    <html:li>Hop</html:li>
    <html:li>Pouet</html:li>
  </html:ul>
</page>


Le danger, avec cette méthode, est de voir arriver dans le fichier XML du code HTML mal formé. La bonne conformation aux spécifications étant une obligation en XML, du HTML mal formé briserait totalement le fichier XML, rendant le tout inutile. Il faut donc insister pour que le HTML respecte le plus possible la spécification précisée... ou s'en tenir au texte seul.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page
 
 



A VOIR EGALEMENT