Spoljašnji entiteti
Oni se deklarišu pomoću ENTITY deklaracije u okviru DTD-a.
Umesto teksta zamene, koristi se ključna reč SYSTEM i URL
datoteke u kome je tekst zamene.
<!ENTITY ime_entiteta SYSTEM URL_teksta_entiteta>
Na primer, tekst uobičajenog podnožja web stranica može biti smešten
u zasebnu datoteku:
<!ENTITY podnožje SYSTEM "http://nlp.matf.bg.ac.yu/sr/cvetana/podnozje.xml">
a može se koristiti i relativni URL:
<!ENTITY podnožje SYSTEM "../podnozje.xml">
Sadržaj ovako deklarisanog spoljašnjeg entiteta se parsira,
što znači, da može da sadrži etikete koje će parser na odgovarajući
način interpretirati, a rezultat proslediti aplikaciji. Osim toga,
datoteka ne sme da sadrži karaktere "<" i "&",
osim u značenju početka etikete, odnosno, reference entiteta. Dalje,
sadržaj datoteke mora da bude potencijalno dobro formiran - ne mora da sadrži
jedan koreni element, ali svaka otvorena etiketa mora imati svoju
zatvorenu etiketu u istoj datoteci.
Spoljašnji entitet ne sme da sadrži XML deklaraciju. Umesto nje
može se koristiti deklaracija teksta koja veoma liči na XML deklaraciju.
U deklaraciji teksta obavezan je atribut encoding, jer se
može koristiti druga kodna šema u odnosu na osnovni XML dokument,
atribut version je opcioni, a atribut standalone
se ne sme koristiti. Dozvoljene deklaracije teksta bile bi:
<?xml version="1.0" encoding="MacRoman"?>
ili
<?xml encoding="MacRoman"?>