Hi!
Vielleicht noch ergänzend zu Gunnars Antwort: Es ist nicht nur beabsichtigt, dass keine DTD angegeben ist, in der Praxis schließen sich die Verwendung von Namensräumen und DTD sogar gegenseitig aus.
Wie würde eine DTD für ein Buch aussehen? Sie müsste in jedem Element, das eine (X)HTML-Seite enthalten kann, wieder ein <html>-Element als Kind erlauben. Das führt dazu, dass sämtliche HTML-Elemente in dieser DTD definiert sein müssten. Ein solche DTD zu erstellen, ist schon zu viel Arbeit. Außerdem muss das dann noch gewartet werden: Ändert sich die HTML-DTD, dann muss auch die Buch-DTD angepasst werden.
Wenn jetzt in dem Buch noch ein weiterer Namensraum vorkommen dürfen soll (z.B. SVG), dann müsste man auch alle SVG-Element in der Buch-DTD definieren, und die DTD bei Änderungen an SVG wieder anpassen. Und das gleiche für jeden weiteren Namensraum. Das ist schlicht nicht praktikabel.
Dadurch, dass man XML-Namensräume in ein und demselben Dokument ganz wild durcheinander verwenden darf, ist eine DTD einfach nicht mächtig genug, um so ein Dokument zu beschreiben. Um ein solches XML-Dokument trotzdem validieren zu können, verwendet man meistens XML-Schemata. Wenn du Englisch kannst, schau dir die ersten 2 Abschnitte hier an, damit du eine Vorstellung davon kriegst, wie sowas ungefähr funktioniert.
Fazit: Wenn du XML-Dokumente, die mehrere Namensräume enthalten, validieren willst, kommst du mit DTD nicht weit, und musst stattdessen XML Schema einsetzen.
Grüße
Bernhard