Les notations sont utilisées en conjonction avec des entités non-analysables, c'est-à-dire contenant des données non-XML (image, applet Java, courrier électronique, etc.).
Le nom de la notation est associé, au sein de l'instruction <!ENTITY...>, au mot-clé NDATA permettant ainsi de faire référence à un identificateur (ID) permettant de décrire le format de données non-XML concerné.
L'identificateur externe (ID_Externe) peut tout à fait être un type MIME (Multipurpose Internet Mail Extensions) comme "video/mpeg", "text.rtf", "application.pdf", etc..
Si l'identificateur est public alors une adresse URI (Uniform Resource Identifier) est nécessaire.
La déclaration d'une notation s'effectue comme suit :
<!NOTATION Name ((SYSTEM "ID_Externe" | PUBLIC "ID_Public" "ID_Systeme") | PUBLIC "ID_Public")'> <!NOTATION nom_notation SYSTEM "ID_Externe"> <!NOTATION nom_notation PUBLIC "ID_Public" "ID_Systeme"> <!NOTATION nom_notation PUBLIC "ID_Public">
L'appel à une notation s'opère de la manière suivante :
<!ENTITY nom_entite SYSTEM "URI" NDATA nom_notation>Exemple :
<?xml version="1.0" standalone="no"?> <!DOCTYPE vidéothèque [ <!ELEMENT vidéothèque (vidéo)> <!ELEMENT vidéo EMPTY> <!ATTLIST vidéo source ENTITY #REQUIRED> <!NOTATION avi SYSTEM "video/avi"> <!ENTITY vacance SYSTEM "mes_vacances.avi" NDATA avi> ]> <vidéothèque> <vidéo source="&vacance;"/> <vidéothèque> |