Références d'entité de paramètre |
    %name;
Lorsqu'un analyseur XML rencontre une référence d'entité de paramètre dans une DTD de document, il remplace la référence par le texte de l'entité. Que le texte de remplacement soit inclus comme un littéral ou bien à partir d'une entité externe, l'analyseur continue d'analyser le texte de remplacement comme s'il faisait partie du document. Cette analyse a des implications intéressantes pour les références d'entité imbriquées :
    <!ENTITY % YEAR "2001">
    <!ENTITY COPYRIGHT "© %YEAR;">
    . . .
    <copyright_notice>©RIGHT;</copyright_notice>
Une fois les remplacements d'entité requis effectués, l'exemple précédent donnerait l'élément canonique suivant :
    <copyright_notice>Ã‚Â© 2001</copyright_notice>
XML traite les références d'entité de paramètre différemment selon leur emplacement dans la DTD. Les références de la valeur littérale d'une déclaration d'entité (comme par exemple Copyright © %YEAR;) sont valides uniquement comme élément du sous-ensemble externe. Dans le sous-ensemble interne, il ne peut y avoir de références d'entité de paramètre que s'il existe une déclaration de marquage complète. En d'autres termes, dans le sous-ensemble interne, les références de paramètre ne peuvent être utilisées que pour inclure des déclarations de marquage complètes. Les références d'entité de paramètre sont reconnues uniquement dans la DTD ; par conséquent, le caractère % n'a aucune importance pour les données de caractère et n'a pas besoin d'être échappé.