Références de caractère  
&#decimal-number;
&#xhexadecimal-number;

Tous les analyseurs XML sont basés sur le jeu de caractères Unicode, peu importe le codage externe du fichier XML. En théorie, il est possible d'écrire des documents directement en langage Unicode, mais de nombreux systèmes d'édition de texte, de mémoire et de sortie ne prennent pas en charge l'intégralité du jeu de caractères Unicode. Pour permettre aux auteurs XML d'inclure des caractères Unicode dans le contenu de leurs documents sans les obliger à renoncer à leurs outils d'édition existants, XML propose le mécanisme des références de caractère.

Une référence de caractère permet à un auteur d'insérer un caractère Unicode en fonction d'un nombre (soit décimal, soit hexadécimal) dans le flux de sortie produit par l'analyseur et envoyé à une application XML. Prenons un document XML incluant les données de caractère suivantes :

© 2002 O'Reilly & Associates

Dans cet exemple, l'analyseur remplacera la référence de caractère par le caractère Unicode effectif et le transmettra à l'application cliente :

© 2002 O'Reilly & Associates

Les références de caractère ne peuvent être utilisées dans des noms d'attribut ou d'élément, alors qu'elles peuvent être utilisées dans des valeurs d'attribut. Les références de caractère hexadécimales sont insensibles à la casse (c'est-à-dire que &xa9; est équivalent à &xA9;).