PRATIQUE XML 
Les caractères spéciaux de XML
 
"Je sais qu'il faut éviter les caractères < et & dans un fichier XML. Y'en a-t-il d'autres à prendre en compte pour s'assurer d'un fichier valide ?" (27/10/2004)
L'un des avantages du format XML, mais également l'un de ses problèmes, est qu'il a été conçu pour être parcouru de manière stricte : à la moindre erreur, le fichier est déclaré invalide et le logiciel doit refuser son traitement.
C'est un avantage car cela permet d'assurer un cohérence de forme dont le langage HTML ne dispose pas (ce que tente de corriger XHTML). C'est un problème car il est effectivement facile, par étourderie, d'introduire au sein du fichier ne serait-ce qu'un caractère spécial (ou, en l'occurrence, interdit), invalidant le tout.

Les deux principaux caractères à éviter au sein de balises XML sont donc < et &, le premier car il indique l'ouverture d'une nouvelle balise (ce qui est possible si on la ferme avec >, mais n'est pas souvent le cas...), et le second parce qu'il permet justement d'utiliser les caractères spéciaux sous une autre forme (par exemple, &lt; ou &#60; pour <). Ces deux caractères ne doivent donc pas apparaître seuls (comme dans 5 < 6 ou Bonnie & Clyde), mais être échappés par leurs équivalents codés (donc, 5 &lt; 6 ou Bonnie &amp; Clyde).

Pour plus de sécurité, car certains interpréteurs XML font parfois dans l'excès de zèle, il peut être également utile d'échapper (c'est-à-dire, les cacher de l'interpréteur) les caractères suivants :

Original
Echappé
>
&gt; ou &#62;
" (guillemets)
&quot; ou &#34;
' (apostrophe)
&#39;

  Forum

Réagissez dans les forums de JDN Développeurs

Plus largement, dès que fichier contient du texte, et même si l'encodage du fichier est bien précisé (<?xml version="1.0" encoding="iso-8859-1"?> par exemple), il peut être utile d'échapper (de manière automatique de préférence...) tous les caractères non-anglophones (à savoir les accents). Selon les systèmes, cela peut se révéler salvateur.

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