- 262 -Wollermann, Tobias: Musik und Medium 
  Erste Seite (i) Vorherige Seite (261)Nächste Seite (263) Letzte Seite (360)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 

source beim Element <Buchcover>) bestehen. Durch die Verschachtelung werden die Elemente in eine hierarchische Ordnung gebracht, die sich als Baumstruktur darstellen lässt.

Es gibt zwei verschiedene Arten von XML-Dokumenten, zwischen denen unterschieden wird. Zum einen handelt es sich hierbei um wohlgeformte (well-formed) Dokumente. Diese müssen lediglich den syntaktischen Regeln der XML-Spezifikation entsprechen.55

55Das bedeutet explizit, dass solche Dokumente ein ausgezeichnetes Root-Element (Wurzelelement) besitzen. Zusätzlich müssen die weiteren Unterelemente korrekt ineinander verschachtelt sein. Das heißt, dass jeder geöffnete Tag auch wieder in entsprechend umgekehrter Reihenfolge geschlossen werden muss.
Zum anderen existieren die so genannten gültigen (valid) XML-Dokumente. Ein solches Dokument erfordert zusätzlich das Vorhandensein einer so genannten Document Type Definition (DTD)56
56Vgl. Abschnitt 15.6.2.
. Diese sind aber aus zwei Gründen sehr sinnvoll und nützlich. Auf der einen Seite sagen sie den Verfassern von Dokumenten, welche Strukturen in dem entsprechenden Dokument überhaupt vorkommen dürfen. Auf der anderen Seite sagen sie Programmierern von Anwendungen, welche Struktur bei der Erstellung entsprechender Anwendungen zu berücksichtigen ist.

Im Folgenden wird nun darauf eingegangen, was genau eine DTD ist und wie sich deren Deklaration gestaltet.

15.6.2.  Die Document Type Definition (DTD)

In einer Document Type Definition wird festgelegt, welche Elementtypen in den Dokumenten eines bestimmten Dokumenttyps verwendet werden dürfen. Vom Prinzip her wird hier auch der strukturelle Aufbau eines XML-Dokumentes festgelegt. Eine Dokumentenklasse ›Brief‹ wird aller Voraussicht nach Elemente wie <Adresse>, <Absender>, <Anrede> sowie <Text> enthalten. Die Elemente <Adresse> und <Absender> besitzen wahrscheinlich noch Unterelemente wie z. B. <Vorname>, <Nachname> bzw. <Straße> und <Ort>. Des Weiteren wird in der DTD festgelegt, welche Attribute zu einem Element gehören und welchen Wert sie annehmen können. In Abbildung 15.3 ist eine zum Beispiel zur Literaturkartei (vgl. Abbildung 15.2) passende DTD dargestellt.



Die Definition einer DTD erfolgt immer durch die Einleitung <!DOCTYPE..>. Dann werden zunächst die verschiedenen Elemente und schließlich die dazugehörigen Attribute deklariert. In unserem Beispiel ist das Wurzel-Element (<Literatur.Kartei>). Dieses enthält ein Element <Buch>. Das (+) bedeutet, dass dieses Element Unterelemente enthält. Diese sind in der nächsten Zeile aufgeführt: <Name> (enthält wiederum Unterelemente), <Titel>, <Verlag>, <Jahr>, <Ort>, <Photocover> und <Zusammenfassung>. Zudem kann an dieser Stelle auch festgelegt werden, ob diese Elemente optional (?) (vgl. Photocover>) oder alternativ (/) sind und wie oft sie auftreten können: einmal () oder beliebig oft (*). Schließlich wird der Inhalt für jedes Element definiert. Viele Elemente haben den Inhalt #PCDATA (Parsed Charakter Data). Solche Elemente dürfen nur reinen Text und keine weiteren Unterelemente enthalten. Eine Ausnahme bildet in unserem


Erste Seite (i) Vorherige Seite (261)Nächste Seite (263) Letzte Seite (360)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 
- 262 -Wollermann, Tobias: Musik und Medium