Liste des entités de caractère de XML et HTML

Dans les langages de balisage comme SGML, HTML, XHTML et XML, une référence de caractère ou référence d'entité de caractère, est une série de caractères qui représente un autre caractère ; par exemple é représente « é ». Il existe des références numériques (comme é) et des références nommées (comme é). Les références nommées portent le nom (comme eacute) d'une entité constituée d'un seul caractère (comme é), d'où le nom d’entité de caractère. Cet article donne la liste d'entités de caractère de XML et HTML.

Termes

Références numériques

Une référence numérique de caractère représente un caractère en utilisant son numéro dans le jeu de caractères Unicode. Elle est écrite dans un des deux formats suivants :

&#NNNN; ou &#xHHHH;

Ainsi le caractère e accent aigu minuscule « é », qui dans Unicode a le numéro décimal 233, et le numéro hexadécimal E9, peut être représenté en XML et en HTML par é (en décimal) ou par é (en hexadécimal).

Entités

Les références numériques de caractère sont techniquement suffisantes pour représenter n'importe quel caractère. Mais pour avoir des références mnémoniques, des références nommées de caractère sont définies avec ce que SGML et XML appellent des entités. Ainsi, l'entité eacute est définie en HTML pour représenter le caractère « é ». La syntaxe des références d'entité est similaire à celle des références numériques :

&nom;

Ce qui donne é comme référence d'entité de caractère pour « é ».

En SGML et en XML, la notion d'entité est complexe et permet beaucoup plus que de représenter de simples caractères. Mais en pratique, HTML et XHTML ne se servent des références d'entité que pour représenter de simples caractères. En HTML et XHTML, les entités de caractère sont déclarées dans la définition de type de document (document type definition, DTD) de chaque version du langage.

Voici la déclaration de l'entité eacute dans la DTD de XHTML 1.0 :

<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute, U+00E9 ISOlat1 -->

Cette déclaration se compose comme suit :

La syntaxe dans les DTD des versions de HTML sont un peu différentes car basées sur SGML et non XML. Ainsi, la DTD de HTML 4.01 contient :

<!ENTITY eacute CDATA "&#233;" -- latin small letter e with acute, U+00E9 ISOlat1 -->

Variations terminologiques

Les standards HTML ne sont pas toujours cohérents dans les termes utilisés pour désigner les entités et les références de caractères.

HTML 2 utilise le terme d’entité seul, et n'utilise pas entité de caractère ,. Ainsi :

HTML 3.2 introduit le terme d’entité de caractère, en revanche la notion de référence est éludée .

HTML 4 réintroduit le terme de référence dans références de caractère (Character references). Ainsi :

En HTML5, la notion d'entité tombe :

En XML, les termes sont définis formellement :

En XHTML, la terminologie est relâchée :

Entités prédéfinies de XML

En XML, il n'existe que cinq entités de caractère prédéfinies. Elles servent à représenter les caractères qui ont un sens particulier en XML : « & », « < », « > », « " » et « ' ». Tous les interpréteurs de XML doivent reconnaître ces entités sans qu'elles soient déclarées dans une DTD. Si elles sont déclarées dans une DTD, les déclarations doivent être compatibles avec ce qui est prédéfini.

Nom d'entité Caractère représenté Point de code Unicode (décimal) Description
quot " U+0022 (34) Guillemet droit, délimiteur d'attribut en XML
amp & U+0026 (38) Esperluette (« et commercial »), délimiteur de référence en XML
apos ' U+0027 (39) Apostrophe, délimiteur d'attribut en XML
lt < U+003C (60) Signe inférieur à, délimiteur de balise en XML
gt > U+003E (62) Signe supérieur à, délimiteur de balise en XML

Entités de caractère de HTML

La DTD de HTML 4 définit 252 entités de caractère. La spécification HTML 4 nécessite l'utilisation des DTD standards et ne permet pas aux utilisateurs de définir des entités supplémentaires.

Dans le tableau ci-dessous, la colonne « Standard » indique la première version de HTML à définir l'entité.

Notes et références

Articles connexes