Une entité non-analysable permet de déclarer un contenu non-XML dans un document XML.
Les entités non-ananalysables sont notamment des fichiers audios, vidéos ou images.
La déclaration d'une entité non-analysable s'effectue en spécifiant le type de données de l'entité par l'intermédaire du mot clé NDATA. Chacune de ces entités est associée à une notation, identifiée par une chaîne de caractères par l'intermédiaire de l'instruction <!NOTATION...>.
La déclaration dans la DTD d'une entité non-analysable s'effectue comme suit :
<!ENTITY nom SYSTEM "URI" NDATA notation>
Les références d'entités non-analysables sont utilisées dans le document XML de la manière suivante :
&nom_entité;Déclaration dans la DTD :
<!ENTITY illustration SYSTEM "image.gif" NDATA GIF>Utilisation de l'entité dans le document XML :
Ce genre d'entité ne pouvant être analysée doit être déclarée dans un conteneur afin d'être correctement traité par l'analyseur XML courant.
<image src="illustration"/>
Le nom des entités non-analysables est fourni par la valeur d'un attribut de type ENTITY ou ENTITIES dans l'instruction <!ATTLIST...>.
<?XML version="1.0" STANDALONE="yes"> <!DOCTYPE collection [ <!ELEMENT album EMPTY> <!ATTLIST album src ENTITY #REQUIRED> <!NOTATION jpg SYSTEM "image/jpg"> <!ENTITY photo SYSTEM "../mariage.jpg" NDATA jpg> ]> <collection> <album src="photo"> </collection> |