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-Schema UML  XML-Schema Vorlesung 14.

Ä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-Schema UML  XML-Schema Vorlesung 14."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML-Schema UML  XML-Schema Vorlesung 14

2 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 2 Übersicht über den dritten Vorlesungsblock 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

3 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 3 Motivation: Unzulänglichkeiten von DTDs Beispiel einer DTD für ein Element “datum“ (siehe letzte VL): f

4 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 4 Möglichkeiten von XML-Schema Namensraumdeklaration für XML-Schema Element- Deklaration Attribut- Deklaration Typdefinitionen

5 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 5 XML-Schema Unterscheidung von Dokumentenschema und konkreten Ausprägungen, den sog. Instanzdokumenten XML-Schema ist Datendefinitionssprache zur Festlegung –der Struktur von Instanzdokumenten –des Datentyps jedes einzelnen Elementes/Attributs Spezifikation von XML-Schema –W3C Recommendation, 2. Mai 2001 –Einführendes Dokument: XML Schema Part 0: Primer

6 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 6 Vergleich DTDs und XML-Schema DTDsXML-Schema spezielle Syntax XML-Syntax sehr beschränkte Datentypen (nur für Attributwerte, nicht für Elementinhalt) reichhaltige Datentypen: diverse Zahlen, Boolean, Datum, Zeit, URIs... keine Unterstützung von Namensräumen Namensräume werden unterstützt Asymmetrien zwischen Element- und Attributtypen Polymorphie (Substituierbarkeit) von Typen Constraints (Schlüssel) nur mit ID und IDREF, eingeschränkter Typ (nur NAME ) allgemeine Schlüssel- und Fremdschlüsselbedingungen Erweiterung von Typen nur umständlich über Parameter Entities Typen durch Benutzer definierbar keine Vererbung Vererbung verteilte Schemata

7 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 7 Aufbau eines XML-Schemas Eine XML-Schema-Datei besteht aus: Dem Wurzelelement –mit Angabe eines Target Namespaces, also dem Namensraum, in dem die Definitionen gelten sollen Darin enthalten sind Elementdeklarationen Attributdeklarationen Typdefinitionen

8 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 8 Elementdeklarationen Elemente können auf 3 Arten deklariert werden: Deklaration durch Angabe eines Datentyps Deklaration durch Definition eines anonymen Typs...Typdefinition... Deklaration durch Verweis auf ein globales Element

9 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung 14 9 Elementkardinalitäten Die Anzahl der Vorkommen eines Elements innerhalb eines Instanzdokuments können durch die zwei Attribute –minOccurs (minimale Anzahl) –maxOccurs (maximale Anzahl) im -Tag festgelegt werden. Beispiel: bedeutet, dass zwischen 4 und 6 Elemente vorkommen müssen

10 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Globale Elemente vs. Lokale Elemente Alle Elemente, die direkt unterhalb des -Tags deklariert werden, sind globale Elemente –globale Elemente können in Elementdeklarationen mittels des ref-Attributs referenziert werden –globale Elemente können selber keine anderen Elemente referenzieren (dürfen selber kein ref-Attribut besitzen) –globale Elemente müssen unterschiedliche Namen haben Elemente, die in innerhalb anderer Elemente oder Typdefinitionen deklariert werden sind lokale Elemente –lokale Elemente innerhalb verschiedener Elemente dürfen die gleichen Namen besitzen

11 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Datentypen Simple Types –eingebaute (built-in) atomare Typen (atomic types) –von atomaren Typen abgeleitete Typen durch Restriktionen Listentypen (list types) Vereinigungstypen (union types) –können in Element- und Attributdeklarationen verwendet werden Complex Types –Zusammengesetzte Typen aus Simple & Complex Types –Vererbung möglich –Verwendung nur in Elementdeklarationen

12 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Typdefinitionen Typen können unabhängig von Element- und Attributdeklarationen, aber auch innerhalb von Element- und Attributdeklarationen definiert werden. Typen werden definiert, Elemente und Attribute deklariert Typen werden unterschieden in benannte Typen (Named Types) –besitzen einen Typ-Namen –werden immer global definiert –können und sollen mehrfach benutzt werden unbenannte Typen (Anonymous Types) –werden ohne Namen (innerhalb von Element- oder Attributdeklarationen) verwendet

13 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel: benannte/unbenannte Typen benannter Typ (global) unbenannter Typ (innerhalb einer Attributdeklaration)

14 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Einfache Datentypen (Simple Types) Dienen zur Definition der Wertebereiche von Elementen und Attributen Beispiele für Elementdeklarationen mit Simple Types: Carl Friedrich Gauß Verwendung in einer XML-Datei in einem Element „person“:

15 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Simple Types – Auswahl (I) Simple TypeBeispiel(e) stringGIS ist toll byte-1, 126 unsignedByte0, 126 hexBinary0FB7 integer , -1, 0, 1, positiveInteger1, negativeInteger , -1 nonNegativeInteger0, 1, int-1, unsignedInt0, long-1, unsignedLong0, short-1, decimal0, booleantrue, false, 1, 0

16 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Simple Types – Auswahl (II) Simple TypeBeispiel(e)Kommentare float-INF, -1E4, -0, 0, 12.78E-2, 1232-bit, einfache Genauigkeit double-INF, -1E4, -0, 0, 12.78E-2, 1264-bit, dppelte Genauigkeit time13:20: date Februar 2003 durationP1Y2M3DT10H30M12.3s1 Jahr, 2 Monate, 3 Tage, 10 Std., 30 Min., 12.3 Sek. gMonthDay jeden 3. Februar gYear2003 NameshipToXML 1.0 Name Qnamepo:US-AdresseNXML Namensraum Qname NCNameUSAdresseunqualifizierter Name anyURIhttp://www.ikg.uni-bonn.de IDXML 1.0 ID Attribut-Typ IDREFXML 1.0 IDREF Attribut-Typ ENTITYXML 1.0 ENTITY Attribut-Typ NOTATIONXML 1.0 NOTATION Attribut-Typ NMTOKENXML 1.0 NMTOKEN Attribut-Typ

17 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Hierarchie der Simple Types Ur-Typ built-in primitive Typen AnySimpleType durationdateTimetimedategYearMonthgYeargMonthDaygDaygMonth booleanbase64BinaryhexBinaryfloat stringdecimal doubleanyURIQNameNOTATION normalizedStringinteger nonPositiveIntegernonNegativeIntegerlong negativeIntegerpositiveIntegerlanguageNameNMTOKEN NCNameNMTOKENS IDREFID IDREFS ENTITY ENTITIES intunsignedLong short byte unsignedInt unsignedShort unsignedByte built-in abgeleitete Typen

18 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Einschränkung durch Facetten Facetten definieren Einschränkungen von Wertebereichen für Simple Types. Typdefinition durch Restriktion eines vorhandenen Simple Types:... lengthpattern minLengthmaxLength whitespaceenumeration maxExclusiveminExclusive minInclusivemaxInclusive totalDigitsfractionDigits XML-Schema kennt 12 Facetten: -nicht alle Facetten sind für alle Typen sinnvoll

19 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiele für Restriktionen Einschränkung von integer auf Wertebereich Einschränkung von string auf explizit spezifizierte Zeichenketten

20 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Listentypen (I) Liste von Werten, getrennt durch ein XML Whitespace (Leerzeichen, Tabulator, Zeilenende) –bereits bekannt durch die Attributtypen IDREFS, NMTOKENS und ENTITIES aus den DTDs diese Typen sind auch in XML-Schema vordefiniert –basieren auf atomaren Typen oder Vereinigungstypen  Listen von Listen sind unzulässig! Beispiel für ein Element vom Typ : Definition eines Listentyps

21 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Listentypen (II) Listentypen können auch vom Typ string abgeleitet werden Achtung: –Strings dürfen Whitespaces enthalten –Whitespaces begrenzen Listenelemente  u.U. Probleme bei der Unterscheidung von Listenelementen Carl Friedrich Albert Beispiel für ein Element vom Typ, nachdem 1. “Carl Friedrich“ und 2. “Albert“ in die Liste eingefügt wurden:

22 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Vereinigungstypen (Union Types) Vereinigung mehrerer Simple Types Elemente bzw. Attribute eines V.-typen dürfen Werte aus einem der Wertebereiche der angegebenen Typen haben zulässig sind: –atomare Typen –Listentypen –Vereinigungstypen Februar 2 April Beispiel für ein Elemente vom Typ :

23 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Complex Types (I) Benannte komplexe Typen (Named Complex Types) –global definiert –können wiederverwendet werden –Bezeichnung muss ein XML-Name sein Unbenannte komplexe Typen (Anonymous Complex Types) –sind nur innerhalb einer Element-Deklaration definiert –können nie eingeschränkt, erweitert oder redefiniert werden Inhalt von komplexen Typen: –einfacher Inhalt (simpleContent) –komplexer Inhalt (complexContent) nur Elemente (element-only content) gemischter Inhalt (mixed content) leer (empty content)

24 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Komplexe Inhalte (Content Models)... –alle darin deklarierten Elemente müssen in genau dieser Reihenfolge im Instanzendokument vorkommen... –genau eines der darin deklarierten Elemente muss im Instanzendokument vorkommen... –Gruppiert Deklarationen, die dann über ihren Namen in das Content Model eingefügt werden können

25 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Complex Types und Content Models

26 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Verteilte Schemata Schemadefinitionen können über mehrere Dokumente verteilt sein  Modularisierung, Wiederverwendbarkeit  Übersichtlichkeit ein Schema wird mittels des -Tags in ein anderes Schema eingebettet: das eingefügte Dokument muss denselben Target Namespace besitzen, d.h. die Definitionen darin werden demselben Namensraum hinzugefügt weiterer Möglichkeit mittels, das auch die Verwendung mehrerer Target Namespaces erlaubt

27 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Vererbung Attribute von Oberklassen müssen ausdrücklich noch einmal deklariert werden: Person Name Vorname Student Matrikelnummer Eine Vererbung, wie sie bei UML möglich ist, kann in XML nur manuell nachgebildet werden. Attribute von Student: Name geerbt von Vorname Person Matrikelnummer }

28 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Ableitung von Typen durch Erweiterung (I)

29 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Ableitung von Typen durch Erweiterung (II) Zupp Jupp Beispiel für ein Instanzdokument mit einer Liste von Studenten: student erbt die Elemente “name“ und “vorname“ von “person“ Erweiterung von “person“ durch eine Matrikelnummer

30 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Äquivalenzklassen (substitution groups) Deklaration einer Gruppe austauschbarer Elemente –Elemente der substitution group müssen global deklariert werden –jedes Element dieser Gruppe kann im Instanzdokument ersetzt werden –jedes Element der substitution group muss vom selben Typ sein wie das zu substituierende Element oder von dessen Typ abgeleitet werden Jupp Zupp Carl Friedrich Gauß Dürfen dort verwendet werden, wo eigentlich ein Element erwartet wird

31 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Abstrakte Elemente und Typen Dienen zur Repräsentation übergeordneter abstrakter Konzepte Elemente mit abstrakten Typen dürfen im Instanzdokument nicht verwendet werden, nur Mitglied(er) der substitution group

32 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung XML-Schema und UML - Beispiele -

33 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 1. Möglichkeit (I) Landkarte PolygonLinieKnoten 1..* 3..*2 2..* 2

34 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 1. Möglichkeit (II) use=“required“ bedeutet, dass das Attribut im Instanzdokument angegeben werden muss.

35 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Instanzdokument: Instanzdokument: 150, , , 100

36 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 2. Möglichkeit (I) Landkarte PolygonLinieKnoten 1..*3..* 3..*22..*2

37 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 2. Möglichkeit (II) ...

38 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 2. Möglichkeit (III)...

39 Thomas H. Kolbe - Geoinformationen III - 5. Semester - WS 02/03 - Vorlesung Beispiel Landkarten: 2. Möglichkeit (III) Instanzdokument: P9 P4 P7 P3 L7 L1 L6 L5 L3


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML-Schema UML  XML-Schema Vorlesung 14."

Ähnliche Präsentationen


Google-Anzeigen