Notationer kan vara lite besvärliga. Idag används oftare MIME-datatyper eller namnrymder som beskrivs längre fram. Vissa filer kan vara av speciellt format eller av MIME-typ. En bild kan till exempel vara i .gif-, .jpg-, eller .png-format. Likaså kan ljud komma i olika format, t ex .mp3 eller .mid. med hjälp av notationsdeklarationer talar man om för XML-applikationen de gällande processinstruktionerna, t ex vilket format den befintliga filen har eller vilken programvara eller plugin som ska användas för att just denna typ av format ska kunna behandlas.
Notationsdeklarationer namnger en notation. Det är just detta namn som externa entiteter och attributdeklarationer refererar till. Det är just detta namn som används för att identifiera den applikationen som ska behandla formatet. Observera att denna applikation måste vara tillgänglig antingen på det egna systemet eller finnas i publik domän på (t ex) Webben. En notation är alltså den externa entitetens informationskälla om innehållet.
Den i entitetsavsnittet nämnda logon, logo.svg, är i ett ovanligt format som saknar stöd i de populära www-klienterna. Därför behövs det en speciell applikation som kan läsa formatet. Den finns på ett privatägt system och heter svgviewer.exe.
<!NOTATION svg SYSTEM "svgviewer.bat">
svg - namnger/identifierar notationenSYSTEM - talar om att strängen (programvaran) som följer finns i privat ägosvgviewer.bat - lokaliserar applikationenI samma avsnitt skapades en logo-entitet med instruktionen NDATA som pekar mot notationen med namn svg och lokaliserar filen (bilden) på det egna systemet.
<!ENTITY logo SYSTEM "bilder/logo.svg" NDATA svg>
All denna information måste nu definieras i attributdeklarationen ...
<!ELEMENT bild EMPTY> <!ATTLIST bild src ENTITY #REQUIRED viewer NOTATION (svg)#REQUIRED >
... som talar om att bildelementet har två attribut, src och viewer. Det första värdet är en hänvisning till entitetsdeklarationen medan det andra är en hänvisning till notationsdeklarationen.
För att anropa bilden och samtidigt kunna se den måste man skriva följande i dokumentinsatsen:
<stycke><bild src="&logo;" viewer="svg" /></stycke>
Notationer kan användas till mycket mer än att bara titta på bilder eller lyssna till musik. Man kan till exempel samla sina dokument i en större enhet. Ett antal artiklar kan samlas till en bok. Elementet bok blir då ett huvuddokument medan artiklarna blir dess subdokument. Artiklarna använder samma DTD, artikel.dtd, och är fullständiga XML-dokument. Det enda som behövs är en kort DTD för elementet bok.
bok.dtd
<!ELEMENT bok (referens*) > <!ATTLIST bok band CDATA #REUIRED> <!ELEMENT referens EMPTY> <!ATTLIST referens src ENTITY #REQUIRED> <!NOTATION subdok-xml SYSTEM "xml-processor.exe">
Elementet referens är en länk mellan boken och de externa xml-dokumenten.
Xml-processor.exe är en fiktiv applikation som klarar att hantera subdokument.
För att en hel bok ska skapas behövs det inte mer information än följande i bok.xml.
<?xml version="1.0" ?> <DOCTYPE bok SYSTEM "bok.dtd" [ <!ENTITY art1 SYSTEM "art1.xml" NDATA dubdok-xml> <!ENTITY art2 SYSTEM "art2.xml" NDATA dubdok-xml> ]> <bok band="1"> <referens src="art1" /> <referens src="art2" /> </bok>
Observera att bok.xml använder två DTD:er; en extern bok.dtd och en intern.
Hur man hänvisar till en DTD beskrivs i efterföljande avsnitt.