Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b
Geoinformation3 1 Die Dokumententyp-Deklaration besteht aus einzelnen Dokumenttyp- Definitionen, den sog. DTDs: –Element-Definitionen –Attribut-Definitionen Diese können –am Anfang eines XML-Dokuments enthalten sein... ]> –oder in einer eigenen Datei zusammengefasst stehen. Dokumententyp-Deklaration
Geoinformation3 2 Die Grundform der Element-Definition: Die Inhaltsmodelle geben an in welcher Reihenfolge welche Kinder und wie viele Kinder ein Element haben kann oder muss Es gibt folgende Inhaltsmodelle Element-Definition Auswahl Klammern Gemischter Inhalt Leere Elemente #PCDATA Kindelemente Folgen (Sequenzen) Anzahl der Kinder
Geoinformation3 3 Inhaltsmodell: #PCDATA Modellierung von unstrukturiertem Text #PCDATA=Parsed Character Data darf keine Kindelemente enthalten Entity-Referenzen werden aufgelöst ( & quot; “ ) (deshalb Parsed Character Data) Beispiel: Definition: XML-Datei: XML macht Spaß
Geoinformation3 4 Kindelemente Element muss genau ein Kind des vorgegebenen Typs haben Beispiel: Inhaltsmodell: Kindelemente
Geoinformation3 5 Inhaltsmodell: Folgen (Sequenzen) Folgen (Sequenzen) angegebenen Elemente werden durch Kommata getrennt sie müssen in der angegebenen Reihenfolge auftreten Beispiel: Friedrich Gauß
Geoinformation3 6 Inhaltsmodell: Auswahl Auswahl Möglichen Elemente werden durch | getrennt Beispiel: Gauß 1 Carl 2 oder 12 Nurmöglich.Nichtund 12
Geoinformation3 7 Inhaltsmodell: Anzahl der Kinder / Multiplizität Die Anzahl der Kinder / Multiplizität wird durch Anhängen folgender Zeichen an den Elementnamen bestimmt. ? Erlaubt kein oder ein Elemente * Erlaubt kein oder mehrere Elemente + Erlaubt ein oder mehrere Elemente Beispiel: Friedrich Friedrich Gauß oder
Geoinformation3 8 Eine Beispiel-DTD A 7x Eine DTD für das Element person Das Element person besitzt ein Kindelement name und kein oder mehrere Kindelemente beruf Die Elemente vorname, beruf und nachname enthalten alle Text Die Reihenfolge wird festgeschrieben: erst name dann beruf(e) Das Element name besitzt ein Kindelement vorname und ein Kindelement nachname
Geoinformation3 Validierung von XML-Dokumenten Wohlgeformtheit ist grundsätzliche Voraussetzung für die maschinelle Lesbarkeit von XML-Dokumenten Wohlgeformtheit sagt nichts darüber aus, ob die Dokumente in ihrer Struktur und den enthaltenen Daten den Anforderungen konkreter XML-Anwendungen entsprechen. Mit Hilfe der DTDs kann bereits der XML-Parser die Struktur und den Inhalt überprüfen, bevor er die Daten an ein Anwendungsprogramm übergibt. –Die Fehlerüberprüfung von XML-Dokumenten wird für Anwendungsprogramme einfacher Die Überprüfung eines XML-Dokuments erfolgt durch einen validierenden Parser XML-Dokumente heißen gültig, wenn sie der DTD entsprechen 9
Geoinformation3 10 Was DTDs nicht können Die DTDs sagen nichts darüber aus: Wie das Wurzelelement des Dokuments aussieht Wie viele Instanzen jedes einzelnen Elements im Dokument auftauchen dürfen / sollen Wie die Zeichendaten innerhalb der Elemente aussehen Was die semantische Bedeutung eines Elements ist; z.B. ob es ein Datum oder einen Namen enthält
Geoinformation3 11 Beispiele: Dokumententyp-Deklaration A 1x Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? JA Beispiel 1 für ein Element person Friedrich Gauß Mathematiker Bsp. einer DTD für ein Element person
Geoinformation3 12 Beispiele: Dokumententyp-Deklaration A 2x Bsp. einer DTD für ein Element person Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? Nein, das Element name fehlt Beispiel 2 für ein Element person Mathematiker Physiker Geodät
Geoinformation3 13 Beispiele: Dokumententyp-Deklaration A 2x Bsp. einer DTD für ein Element person Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? Nein, das Element beruf steht vor dem Element name Mathematiker Friedrich Gauß Physiker Geodät
Geoinformation3 14 Beispiele: Dokumententyp-Deklaration A 1x Bsp. einer DTD für das Element person Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? JA Beispiel 4 für ein Element person Friedrich Gauß
Geoinformation3 15 A 2x Beispiele: Dokumententyp-Deklaration Bsp. einer DTD für das Element person Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? Nein, das Element Leistung ist in der DTD nicht vorgesehen Friedrich Gauß Physiker Geodät N-Verteilung
Geoinformation3 16 Beispiele: Dokumententyp-Deklaration A 3x Bsp. einer DTD für das Element person Ist dieses person-Element gültig, bzw. entspricht das Dokument der DTD? Nein, Text ist nur innerhalb der Kinder vorname, nachname und beruf vorgesehen Friedrich Gauß war Physiker und Geodät