20.5.8 | Aufbau eines Dokuments |
Ein XML-Dokument besteht aus einem Rumpf, dem optional ein Prolog vorangestellt werden kann. Wie in Abbildung 20.6 gezeigt, besteht der Prolog üblicherweise aus der XML-Deklaration und der DTD-Deklaration.In der XML-Deklaration können folgende Dinge angegeben werden:
In der DTD-Deklaration wird im Wesentlichen festgelegt, was das Wurzelelement des Exemplars ist. Hierbei ist zu beachten, dass dieses Wurzelelement bei einer gegebenen DTD beliebig ist, es muss also nicht immer das »äußerste« Element sein, das die DTD definiert. Im gezeigten Beispiel beginnt das Dokument mit dem Element BOOK. Es wäre aber auch zulässig, wenn CHAPTER das äußerste Element wäre.
- Die XML-Version, der das Dokument entspricht. Hier ist derzeit stets '1.0' anzugeben.
- Die Angabe der Zeichenkodierung, die das Dokument verwendet. Dies ist ein optionaler Bestandteil der XML-Deklaration. Mögliche Werte sind unter anderem: UTF-8, UTF-16, ISO-10646-UCS-2 oder auch ISO-8859-1 (entspricht isolatin1).
- Die Standalone-Dokumentendeklaration. Sie zeigt dem Parser an, ob es in externen Dateien Deklarationen gibt, die im Dokument verwendet und entsprechend vom Parser berücksichtigt werden müssen.
Es gibt drei Arten, ein Dokument mit einer DTD zu versehen:Obwohl es prinzipiell möglich ist, die komplette DTD im Prolog zu definieren, ist dies unüblich, weil die DTD dann nicht in anderen Dokumenten wiederverwendet werden kann.
- Die DTD ist in einer separaten Datei gespeichert und wird mit einer Public- oder einer System-ID im Dokument referenziert. In diesem Fall nennt man die DTD auch extern.
- Die DTD wird im Prolog des Dokuments vereinbart (interne DTD).
- Als dritte Möglichkeit lassen sich externe und interne Definitionen gemeinsam benutzen. Hierbei wird eine externe DTD referenziert, zu der im Prolog zusätzliche Markup-Deklarationen vorgenommen werden. Diese Markup-Deklarationen werden auch als interne Teilmenge bezeichnet.