DTD: Regeln für XML-Dokumente

Referenzierung

Die anfangs aufgeführten Beispiele zeigen, wie die Referenzierung von DTDs in HTML- und XHTML-Dokumenten aussieht. Nicht viel anders verhält es sich bei XML-Dokumenten. Im Prolog eines XML-Dokuments wird angeben, ob einem Dokument eine DTD zugeordnet ist oder nicht. Bei gültigen Dokumenten muss die Referenzierung der Dokumenttyp-Deklaration nach der XML-Deklaration und vor dem ersten XML-Element folgen.

Das im Prolog enthaltene DOCTYPE-Tag verweist im Beispiel auf eine externe DTD. Dabei lassen sich optional lokale Deklarationen zwischen eckigen Klammern spezifizieren. Die Verarbeitung erfolgt in diesem Zusammenhang analog zur Verwendung von lokalen oder referenzierten Cascading Style Sheets - lokale Definitionen verarbeitet der Parser vor externen Definitionen.

Der Verweis auf eine externe Definition besteht aus dem Namen des Wurzelelements und dem Bezeichner SYSTEM mit einem System-Identifier, der eine externe Datei und deren URI angibt. Verweise auf eine externe Definition bestehen aus dem Namen für das Wurzel-Element und dem Bezeichner PUBLIC. Ein Beispiel für ein XML-Dokument samt Referenzierung einer externen und einer eingebetteten DTD:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE tecchannel PUBLIC "-//TECCHANNEL//DTD Artikel//DE"
"http://www.tecchannel.de/dtd/http://idgwptc.dev5.sr.nbsp.de/dtds/artikel.dtd" [
<!ENTITY ...>
<!NOTATION ...>
<!ELEMENT ...>
<!ATTLIST ...> ... ]>