Strukturfragen
Teil 3: XML-Kurs 3
- XML-Kurs 3
- Teil 2: XML-Kurs 3
- Teil 3: XML-Kurs 3
- Teil 4: XML-Kurs 3
- Teil 5: XML-Kurs 3
- Teil 6: XML-Kurs 3
- Teil 7: XML-Kurs 3
- Teil 8: XML-Kurs 3
Die DTD regelt, welche Tags und Attribute wann vorkommen. Innerhalb des W3C-Universums ist der Einsatz von DTDs unter anderem in der XML-Spezifikation geregelt ( www.w3.org/TR/2000/REC-xml-20001006#dt-doctype). Bevor Sie tiefer in die Syntax von DTDs eintauchen, sehen Sie sich aber zuerst einmal das von uns verwendete Beispiel "news.xml" an:
news.xml
<?xml version="1.0" encoding="UTF-8" ?>
<news><nachricht id="N1"><titel>XML mit PHP</titel><inhalt>Wollen Sie XML mit PHP
bearbeiten, brauchen Sie
zuerst eine passende
Erweiterung. </inhalt></nachricht><nachricht id="N2"><titel>XML und DOM</titel><inhalt>Das Document Object Model
arbeitet mit einer hierarchischen
Darstellung des XML-Dokuments im
Speicher. </inhalt></nachricht></news>
Diese XML-Datei kam in ähnlicher Form auch schon im vorigen Teil der XML-Reihe (Ausgabe 2/2004) zum Einsatz. Es handelt sich um eine einfache XML-Datei, die Nachrichten speichert. Soll diese Datei nun eine DTD haben, gibt es dafür zwei Möglichkeiten: Entweder, sie fügen einen Verweis auf die DTD-Datei im Kopf nach dem <?xml ?>-Tag ein, oder Sie fügen dort die DTD direkt ein. Das externe Verlinken funktioniert wie folgt:
<!DOCTYPE news SYSTEM "news.dtd">
<!DOCTYPE identifiziert die DTD. Dann folgt das Wurzelelement. Dies ist im Beispiel das Tag <news>, anschließend weißt SYSTEM darauf hin, dass die DTD auf dem Rechner gesucht werden soll. Die URL der Datei folgt danach in Anführungszeichen. Sie kann - wie bei einem HTML-Link - relativ oder absolut angegeben werden. Bei einer DTD im XML-Dokument sieht das ganze nur wenig anders aus:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE news [
DTD-Anweisungen?
]><news>
?
Nach <!DOCTYPE folgt hier wieder das Wurzelelement, dann aber stehen die eigentlichen DTD-Angaben innerhalb von eckigen Klammern.