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 einzelnen Baumstrukturen sind nachfolgend abgebildet.