Caractères  

Les documents XML représentent fondamentalement des documents texte composés de caractères. Pour garantir la portabilité des documents dans les différents systèmes informatiques ainsi que l'écriture du contenu dans tous les langages d'écriture humains possibles, les analyseurs XML doivent implémenter la norme Unicode. Cela ne signifie pas que tous les documents XML doivent être enregistrés et édités en Unicode, en revanche, l'analyseur XML doit lui être capable de convertir le codage de caractères natif de votre document en Unicode. Tous les analyseurs XML doivent prendre en charge (au minimum) les formats de codage d'entrée UTF-8 ou UTF-16. Pour plus d'informations sur les formats de codage et Unicode, voir le chapitre 27.

L'une des principales différences entre XML 1.0 et XML 1.1 est la définition des caractères Unicode valides dans un document XML. Dans XML 1.0, de nombreux caractères de commande ASCII (comme par exemple BEL et NAK) étaient explicitement interdits dans les documents XML. XML 1.1 autorise pour tout caractère Unicode ces 60 caractères de commande (excepté pour la valeur null, x0000) du moment qu'ils sont échappés à l'aide de références de caractère numériques. XML 1.1 exige également que les commandes C1 entre 0x0080 et 0x009F soient échappées avec une référence de caractère numérique, ce qui n'est pas le cas avec XML 1.0.