Instructions de traitement  
<?target processing-instruction data?>

Les instructions de traitement fournissent un mécanisme d'échappement permettant à une application XML d'inclure des instructions non validées dans un processeur XML. La cible d'une instruction de traitement peut correspondre à tout nom XML légal, à l'exception de xml peu importe la combinaison minuscules/majuscules (voir chapitre 2). Un exemple d'application courant de ce mécanisme est la liaison à une feuille de style permettant d'indiquer des instructions de formatage pour un document. Selon les principes de XML, les instructions de formatage doivent être séparées du contenu effectif d'un document, mais un mécanisme doit permettre d'associer les deux. Les instructions de traitement n'ont d'intérêt que pour les applications qui les reconnaissent.

La fonction de notation peut indiquer exactement le type d'instruction de traitement incluse, et chaque application XML doit décider du sort des données supplémentaires. Aucune action n'est requise par un analyseur XML lorsqu'il reconnaît qu'une instruction de traitement particulière correspond à une notation déclarée. Si cette fonction est utilisée, les applications ne reconnaissant pas les identificateurs publics ou de système d'une cible d'instruction de traitement donnée doivent tenir compte du fait qu'elles ne peuvent pas interpréter correctement la portion de données.

Détection automatique de codage de caractère

La déclaration XML (probablement précédée par une marque d'ordre d'octet Unicode) doit représenter le tout premier élément d'un document de manière à ce que l'analyseur XML puisse déterminer le codage de caractère utilisé pour stocker le document. Il existe un problème similaire à celui de l'oeuf et de la poule concernant la clause encoding="..." de la déclaration XML : l'analyseur ne peut pas analyser la clause s'il ne connaît pas le codage de caractère utilisé par le document. Cependant, les cinq premiers caractères du document doivent représenter la chaîne <?xml (si elle inclut une déclaration XML), l'analyseur peut lire les premiers octets d'un document et, dans la plupart des cas, déterminer le codage de caractère avant de lire la déclaration encoding.