Dieses Beispiel zeigt eine XML-DTD in einem XML-Dokument sowie die Baumstruktur dieses Dokuments:
<!DOCTYPE test PUBLIC "//dies/ist/ein/URI-/test" "test.dtd" [
<!NOTATION TeX PUBLIC "//this/is/a/URI/TexID" "//TexID">
<!ENTITY ent1 "this is an entity">
<!ENTITY % ent2 "#PCDATA | subel2">
<!ENTITY % extent1 PUBLIC "//this/is/a/URI/extent1" "more.txt">
<!ENTITY extent2 PUBLIC "//this/is/a/URI/extent2" "more.txt">
<!ENTITY unpsd PUBLIC "//this/is/a/URI/me.gif" "ich.gif" NDATA TeX>
<?test Do this?>
<!--Kommentar-->
<!ELEMENT subel2 (#PCDATA)>
<!ELEMENT subel1 (subel2 | el4)+>
<!ELEMENT el1 (#PCDATA)>
<!ELEMENT el2 (#PCDATA | subel2)*>
<!ELEMENT el3 (#PCDATA | subel2)*>
<!ELEMENT el4 (#PCDATA)>
<!ELEMENT el5 (#PCDATA | subel1)*>
<!ELEMENT el6 (#PCDATA)>
<!ATTLIST subel1
size (big | small) "groß"
shape (round | square) #REQUIRED>
<!ATTLIST el5
el5satt CDATA #IMPLIED>
]>
Wenn der generische XML-Parser eine Nachricht analysiert, sieht der relevante Teil der Nachrichtenbaumstruktur wie folgt aus (vorausgesetzt, dass es keine Wagenrückläufe oder Leerzeichen zwischen den Kennungen gibt):
Die IntSubset-Struktur enthält folgende Strukturen auf der nächsten Verschachtelungsebene: Die Baumstruktur jeder dieser Strukturen wird in den nachfolgenden Baumstrukturen abgebildet.