Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung 12

2 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 2 1. Offene Systeme, Rechnernetze und das Internet Die eXtensible Markup Language XML 2.Grundlagen, Document Type Definitions (DTDs) 3.Fortsetzung DTDs, UML  DTD, Namensräume 4.XML Schema 5.Geographic Markup Language GML: –der vom OpenGIS-Consortium als XML-Anwendung definierte Standard für Geo-Objekte Übersicht über den dritten Vorlesungsblock

3 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 3 Extensible Markup Language XML ist eine Meta-Sprache zur Definition eigener Datenformate –in XML spezifizierte Dokumentenformate heißen XML-Anwendungen –Beispiele für bekannte XML-Anwendungen: Scalable Vector Graphics SVG Synchronised Media Integration Language SMIL Geographic Markup Language GML vom OpenGIS Consortium XML-Dokumente sind sowohl maschinen- als auch menschenlesbar Struktur und Syntax von XML-Dokumenten ähnelt HTML Der Entwurf von XML ist formal und präzise Korrektheit von XML-Dokumenten kann zu großen Teilen bereits außerhalb des eigentlichen Anwendungsprogramms geprüft werden Eines der größten Hindernisse bzgl. der Interoperabilität von Systemen sind die vielen proprietären Datenformate, deren Struktur zudem oftmals nicht offengelegt ist.

4 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 4 Extensible Markup Language (XML) 1.0 XML – Dokument XML–Prozessor (PARSER) Anwendung W3C Recommendation (Feb. 1998) Das World-Wide-Web-Consortium (W3C) ist für die Entwicklung von Standards für das WWW zuständig Second Edition: W3C Recommendation (Okt. 2000) http://www.w3.org/TR/2000/REC-xml-20001006 In dem oben genannten Dokument werden XML-Dokumente und das Verhalten eines XML-Prozessors (Parser) definiert, der ein XML- Dokument liest und an eine Anwendung weiterreicht, die die Information verarbeitet:

5 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 5 HTML Carl F. Gauß 1777 bis 1855 Mathematiker Geodät Physiker Carl F. Gauß 1777 bis 1855 Mathematiker Geodät Physiker ErgebnisQuelltext paragraph (Absatz) bold (fett) unnamed list List item Problem: für die Darstellung im Webbrowser geeignet, allerdings nicht für thematische Abfragen und Recherchen. Die Auszeichnungen (Tags) sagen nur etwas über die Formatierung, aber nicht über die Bedeutung (Semantik) des Textinhaltes aus. Beispielanfrage: Welche Berufe hatte der alte Gauß?

6 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 6 XML - Beispiel Carl F. Gauß 1777 1855 Mathematik Geodät Physiker So sähe die entsprechende XML-Datei zum Beispiel der vorigen Folie aus. Durch entsprechend definiertes Markup (Tags) werden aus einfachen Daten (maschinen-) interpretierbare Informationen. Die Syntax und Struktur ähnelt der von HTML. So sähe die entsprechende XML-Datei zum Beispiel der vorigen Folie aus. Durch entsprechend definiertes Markup (Tags) werden aus einfachen Daten (maschinen-) interpretierbare Informationen. Die Syntax und Struktur ähnelt der von HTML.

7 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 7 Elemente, Tags und Zeichen Der String Carl Friedrich Gauß und die Leerzeichen sind Zeichendaten und sind Auszeichnungen (Markup) Das Tag ist die gebräuchlichste Form der Auszeichnung in einem XML-Dokument für leere Elemente, also Elemente ohne Inhalt, kann folgende Syntax abkürzend verwendet werden anstatt zwischen Groß- und Kleinschreibung wird unterschieden Person  person Carl Friedrich Gauß End-Tag Start-TagInhaltElement person

8 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 8 Friedrich Gauß Mathematiker Geodät person Geschwister Elternelement von vor- und nachname Kindelement von person Friedrich vornamenachname Gauß beruf name GeodätMathematiker Wurzelelement XML – Dokumente sind Bäume

9 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 9 XML-Dokumente mit gemischtem Inhalt Carl Friedrich Gauß war einer der wichtigsten Geodäten und Mathematiker. Gauß war außerdem ein anerkannter Physiker. Am 23. Februar 1855 ist er gestorben. Das Wurzelelement biographie enthält die Kindelemente name, beruf und datum und eine Menge roher, unstrukturierter Zeichendaten. Es enthält einen gemischten Inhalt.

10 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 10 Attribute Carl Friedrich Gauß Elemente können neben dem Inhalt auch noch Attribute besitzen Ein Attribut ist ein Paar aus einem Namen und einem Wert Die Zuweisung erfolgt im Start-Tag eines Elements Die Namen werden von den Werten durch Gleichheitszeichen und optional durch Leerzeichen getrennt Die Werte sind in einfache oder doppelte Anführungszeichen eingeschlossen entspricht Carl Friedrich Gauß

11 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 11 XML – Namen I XML-Namen (Element-, Attributnamen,...) dürfen folgende Zeichen enthalten: Buchstaben: A – Z ; a – z (englische Buchstaben) Nichtenglische Buchstaben und Ideogramme: ö, , , ç Ziffern: 0 – 9 Nur folgende Interpunktionszeichen: Unterstrich ( _ ), Bindestrich ( - ), Punkt (. ) Doppelpunkt ist für Namensräume reserviert XML-Namen müssen mit Buchstaben, Ideogrammen oder Unterstrich beginnen Reserviert sind alle Namen die mit XML, xml, Xml, xMl... beginnen 30 4 1777 21/01/2002 Carl Gauß 0190 666666 Ich mag dich f f

12 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 12 XML – Namen II 30 4 1777 21/01/2002 Carl Friedrich Ich mag dich f f XML-Namen (Element-, Attributnamen,...) dürfen folgende Zeichen enthalten: Buchstaben: A – Z ; a – z (englische Buchstaben) Nichtenglische Buchstaben und Ideogramme: ö, , , ç Ziffern: 0 – 9 Nur folgende Interpunktionszeichen: Unterstrich ( _ ), Bindestrich ( - ), Punkt (. ) Doppelpunkt ist für Namensräume reserviert XML-Namen müssen mit Buchstaben, Ideogrammen oder Unterstrich beginnen Reserviert sind alle Namen die mit XML, xml, Xml, xMl... beginnen

13 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 13 Entity-Referenzen XML reserviert einige Zeichen (<>&“‘/). Um diese dennoch verwenden zu können verwenden werden sie durch Entity-Referenzen ersetzt. XML gibt genau fünf Entities mit entsprechenden Entity-Referenzen vor: < Kleiner-als-Zeichen (<) & das Ampersand (&) > Großer-als-Zeichen (>) " geraden doppelten Anführungszeichen (“) &apos; Apostroph oder einfachen Anführungszeichen (‘) Bsp.: Witte & Schmidt bedeutet: Witte & Schmidt das & kann von Parsern nicht missverstanden werden Es können selber weitere Entities & Entity-Referenzen festgelegt werden.

14 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 14 CDATA-Abschnitte Um die aufwändige Nutzung der Entity-Referenzen zu umgehen gibt die Möglichkeit der CDATA-Abschnitte: CDATA-Abschnitte: Alles was sich zwischen befindet, wird als reine Zeichenkette interpretiert. Es gibt keine Auszeichnungen, nur noch Zeichendaten. Beispiel: Sei´s drum! ]]> ist hier kein Tag sondern nur ein Zeichenstring

15 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 15 Kommentare Kommentare benutzt man um den Quellcode für menschliche Leser verständlich zu machen. Kommentare beginnen mit Bsp.: Die Regeln für Kommentare: -- sollte innerhalb eines Kommentars nicht auftreten ein 3-facher Bindestich als Teil des Schlusszeichens ---> ist verboten Kommentare sind niemals zwingend Sie dürfen nicht innerhalb von Tags oder andere Kommentaren stehen

16 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 16 Steueranweisungen XML-Dokumente sind normalerweise weitgehend unabhängig von den Programmen, die mit ihnen arbeiten In manchen Fällen kann es sinnvoll sein, Hinweise oder Befehle zum Lesen bzw. zur Bearbeitung in ein Dokument einzubauen Steueranweisungen (Processing Instructions) dienen der Übergabe von Informationen an bestimmte Anwendungsprogramme Steueranweisungen können eine beliebige Menge Text enthalten, der „ungeparsed“, d.h. ohne Konvertierungen oder Ersetzungen an die entsprechende Anwendung weitergereicht wird. Beispiel: Name der Anwendung Beginn mit <? beliebiger Text Ende mit ?>

17 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 17 XML-Deklaration Carl Friedrich Gauß Verwendete XML-Version Verwendeter Zeichensatz Eigenständige Datei Ja / Nein Die XML-Deklaration ist eine optionale Steueranweisung steht als erste im Dokument gibt Auskunft über

18 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 18 Wohlgeformtheit I Alle XML-Dokumente müssen ohne Ausnahme wohlgeformt sein: 2.Elemente dürfen einander nicht überschneiden 3.Attributwerte müssen in Anführungszeichen stehen 1.Jedes Start-Tag muss ein dazugehöriges End-Tag haben Friedrich Gauß Carl Friedrich Gauß Gauß

19 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 19 Wohlgeformtheit II Alle XML-Dokumente müssen ohne Ausnahme wohlgeformt sein: 6.Kommentare & Steueranweisungen dürfen nicht innerhalb Tags stehen 5.Ein Element darf nicht 2 Attribute mit gleichem Namen besitzen Carl Friedrich Gauß > Carl Friedrich Gauß Carl Friedrich Gauß 4.Element- und Attributbezeichner müssen XML-Namen sein

20 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 20 Wohlgeformtheit III Alle XML-Dokumente müssen ohne Ausnahme wohlgeformt sein: 7.In den Zeichendaten eines Elements oder Attributs dürfen keine ungeschützten <- oder &- Zeichen stehen. Geodät Carl 8.Es muss genau ein Wurzelelement geben Witte & Schmidt Carl Geodät Witte & Schmidt

21 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 21 Definition der Struktur von Dokumenten wohlgeformte Dokumente können zwar von jedem XML- Parser eingelesen werden, jedoch sagt die Wohlgeformtheit nichts darüber aus –welche Elementnamen überhaupt vorkommen dürfen, –in welcher Reihenfolge die Elemente im XML-Dokument erscheinen müssen, –welches Element Kindelement eines anderen sein darf –wie oft die Elemente im XML-Dokument erscheinen dürfen, –welche Attribute in bestimmten Elementen verwendet werden dürfen Jede XML-Anwendung definiert die ihr bekannten bzw. von ihr akzeptierten Elemente sowie die Dokumentenstruktur mit Hilfe der sog. Document Type Declaration

22 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 22 Dokumententyp-Deklaration 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.

23 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 23 Element-Definition 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: Auswahl Klammern Gemischter Inhalt Leere Elemente #PCDATA Kindelemente Folgen (Sequenzen) Anzahl der Kinder

24 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 24 Inhaltsmodell: #PCDATA Modellierung von unstrukturiertem Text #PCDATA=Parsed Character Data darf keine Kindelemente enthalten Entity-Referenzen werden aufgelöst ( "  “ ) (deshalb Parsed Character Data) Beispiel: Definition: XML-Datei: XML macht Spaß

25 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 25 Inhaltsmodell: Kindelemente Kindelemente Element muss genau ein Kind des vorgegebenen Typs haben Beispiel: 0190666666

26 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 26 Inhaltsmodell: Folgen (Sequenzen) Folgen (Sequenzen) angegebenen Elemente werden durch Kommata getrennt sie müssen in der angegebenen Reihenfolge auftreten Beispiel: Friedrich Gauß

27 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 27 Inhaltsmodell: Auswahl Auswahl Möglichen Elemente werden durch | getrennt Beispiel: Gauß 1 Carl 2 oder 12 Nurmöglich.Nichtund 12

28 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 28 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 Friedrich Beispiel: Friedrich Gauß oder

29 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 29 Eine Beispiel-DTD 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

30 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 30 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 heissen gültig, wenn sie der DTD entsprechen

31 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 31 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

32 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 32 Beispiele: Dokumententyp-Deklaration 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

33 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 33 Beispiele: Dokumententyp-Deklaration 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

34 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 34 Beispiele: Dokumententyp-Deklaration 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

35 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 35 Beispiele: Dokumententyp-Deklaration 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ß

36 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 36 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

37 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 12 37 Beispiele: Dokumententyp-Deklaration 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


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung."

Ähnliche Präsentationen


Google-Anzeigen