XML-Schema UML  XML-Schema

Slides:



Advertisements
Ähnliche Präsentationen
Extensible Markup Language
Advertisements

Dipl.- Dok. Rusalka Offer
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Grundlagen der Sprache
Objekte und Arbeitsspeicher
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
HTML - Eine erste Annäherung
XML-basierte Techniken
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Überblick XML: Extensible Markup Language Entwickelt, um Informationen bereitzustellen, zu speichern und zu übertragen Im Gegensatz zu HTML keine vordefinierten.
XML Schema. © Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
XML Standardisierungen und Abfragesprachen
Einführung XML XML Einführung Andreas Leicht.
Geoinformation III Vorlesung 13b XML-Schema.
OWL-Web Ontology Language Eine Einführung
2.2 Definition eines Datenbankschemas (SQL-DDL)
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
XML DTD.
XML Schema.
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
XML – Schema (DTD).
Fortsetzung DTDs, UML  XML
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Kurzpräsentation von Herbert Schlechta
XML-Schema UML  XML-Schema
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
- Warum: Das HTML-Dilemma
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Vordefinierte Datentypen (1)
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Dr. Thomas H. Kolbe Geoinformation III XML Grundlagen und Dokumentspezifikationen Vorlesung.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
XML Grundlagen, Namensräume & Hyperlinks
DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.
XML – Grundlagen und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
Ableitung UML  XML Schema
27.November / 4.Dezmber 2006 ― 1Elektronisches Publizieren: XML Schema Schemasprachen für XML — XML Schema — Anne Brüggemann-Klein TU München.
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
XML. Überblick In Anlehnung an Sprachmerkmale Wie jede Sprache verfügen auch ML über –Syntax  Wohlgeformtheit –Grammatik  DTD, XML-Schema.
Datenmodellierung für INSPIRE-Themen und Umsetzung mit GML
Fortsetzung DTDs, UML  XML
Hello World! Javakurs 2013 Arne Kappen
Datentypen: integer, char, string, boolean
Validierung vom XML mit XML Schema
Fortsetzung DTDs, UML  XML
Geography Markup Language GML
Document Type Definitions (DTDs)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
MyCoRe-Anwendung selbst gebaut
Dokumentenproduktion im Medienzentrum
Methodische Grundlagen des Software-Engineering
1. Die rekursive Datenstruktur Liste 1
9. Vererbung und Polymorphie
Datentyp- umwandlung.
Einführung in die Programmierung
 Präsentation transkript:

XML-Schema UML  XML-Schema Geoinformation III Vorlesung 14a XML-Schema UML  XML-Schema

Übersicht über den dritten Vorlesungsblock 1 Übersicht über den dritten Vorlesungsblock 1. Offene Systeme, Rechnernetze und das Internet Die eXtensible Markup Language XML Grundlagen, Document Type Definitions (DTDs) 3. Fortsetzung DTDs, UML  DTD, Namensräume XML Schema Geographic Markup Language GML: der vom OpenGIS-Consortium als XML-Anwendung definierte Standard für Geo-Objekte

f Motivation: Unzulänglichkeiten von DTDs 2 Motivation: Unzulänglichkeiten von DTDs Beispiel einer DTD für ein Element “datum“ (siehe letzte VL): <!ELEMENT datum EMPTY> <!ATTLIST datum monat (Januar|Februar|März|April) #REQUIRED tag (1|2|3|4|5|6|7|8|9|10) #REQUIRED jahr (1979|1980|1981|1982|1983) #REQUIRED> <datum monat=“März“ tag=“2“ jahr=“1979“/> f <datum monat=“März“ tag=“2“ jahr=“1978“/> A 5x

Namensraumdeklaration für XML-Schema Attribut-Deklaration 3 Möglichkeiten von XML-Schema Namensraumdeklaration für XML-Schema Element-Deklaration Attribut-Deklaration Typdefinitionen <xsd:schema xmlns:xsd=“http://www.w3c.org/2001/XMLSchema“> <xsd:element name = “datum“ type= “datumsTyp“/> <xsd:complexType name= “datumsTyp“> <xsd:attribute name = “jahr“> <xsd:simpleType> <xsd:restriction base = “xsd:integer“> <xsd:maxInclusive value = “2500“> <xsd:minInclusive value = “0“> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> A 2x

4 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 http://www.w3c.org/TR/xmlschema-0/

Vergleich DTDs und XML-Schema 5 Vergleich DTDs und XML-Schema DTDs XML-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

Aufbau eines XML-Schemas 6 Aufbau eines XML-Schemas Eine XML-Schema-Datei besteht aus: Dem Wurzelelement <schema> mit Angabe eines Target Namespaces, also dem Namensraum, in dem die Definitionen gelten sollen Darin enthalten sind Elementdeklarationen Attributdeklarationen Typdefinitionen

Elementdeklarationen 7 Elementdeklarationen Elemente können auf 3 Arten deklariert werden: Deklaration durch Angabe eines Datentyps <element name=“Elementname“ type=“Typ“/> Deklaration durch Definition eines anonymen Typs <element name=“Elementname“> . . .Typdefinition . . . </element> Deklaration durch Verweis auf ein globales Element <element ref=“globalesElement“/>

Elementkardinalitäten 8 Elementkardinalitäten Die Anzahl der Vorkommen eines Elements innerhalb eines Instanzdokuments können durch die zwei Attribute minOccurs (minimale Anzahl) maxOccurs (maximale Anzahl) im <element>-Tag festgelegt werden. Beispiel: bedeutet, dass zwischen 4 und 6 Elemente vorkommen müssen <element name=“vorstandsmitglied“ minOccurs=4 maxOccurs=6>

Globale Elemente vs. Lokale Elemente 9 Globale Elemente vs. Lokale Elemente Alle Elemente, die direkt unterhalb des <schema>-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

Datentypen Simple Types 10 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

Typdefinitionen Typen können 11 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

Beispiel: benannte/unbenannte Typen 12 Beispiel: benannte/unbenannte Typen <xsd:schema xmlns:xsd=“http://www.w3c.org/2001/XMLSchema“> <xsd:element name=“datum“ type=“datumsTyp“/> <xsd:complexType name=“datumsTyp“> <xsd:attribute name=“jahr“> <xsd:simpleType> <xsd:restriction base=“xsd:integer“> <xsd:maxInclusive value=“2500“> <xsd:minInclusive value=“0“> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> benannter Typ (global) unbenannter Typ (innerhalb einer Attributdeklaration) A 2x

Einfache Datentypen (Simple Types) 13 Einfache Datentypen (Simple Types) Dienen zur Definition der Wertebereiche von Elementen und Attributen <xsd:element name=“name“ type=“xsd:string“/> <xsd:element name=“schuhgroesse“ type=“xsd:positiveInteger“/> <xsd:element name=“geburtsdatum“ type=“xsd:date“/> Beispiele für Elementdeklarationen mit Simple Types: <person> <name>Carl Friedrich Gauß</name> <schuhgroesse>42<schuhgroesse/> <geburtsdatum>1777-04-30<geburtsdatum/> </person> Verwendung in einer XML-Datei in einem Element „person“:

Simple Types – Auswahl (I) 14 Simple Types – Auswahl (I) Simple Type Beispiel(e) string GIS ist toll byte -1, 126 unsignedByte 0, 126 hexBinary 0FB7 integer -126789, -1, 0, 1, 126789 positiveInteger 1, 126789 negativeInteger -126789, -1 nonNegativeInteger 0, 1, 126789 int -1, 126789675 unsignedInt 0, 1267896754 long -1, 12678967543233 unsignedLong 0, 12678967543233 short -1, 12678 decimal 0, 12678 boolean true, false, 1, 0

Simple Types – Auswahl (II) 15 Simple Types – Auswahl (II) Simple Type Beispiel(e) Kommentare float -INF, -1E4, -0, 0, 12.78E-2, 12 32-bit, einfache Genauigkeit double 64-bit, doppelte Genauigkeit time 13:20:00.000 date 2003-02-03 3. Februar 2003 duration P1Y2M3DT10H30M12.3s 1 Jahr, 2 Monate, 3 Tage, 10 Std., 30 Min., 12.3 Sek. gMonthDay --02-03 jeden 3. Februar gYear 2003 Name shipTo XML 1.0 Name Qname po:US-Adresse NXML Namensraum Qname NCName USAdresse unqualifizierter Name anyURI http://www.ikg.uni-bonn.de ID XML 1.0 ID Attribut-Typ IDREF XML 1.0 IDREF Attribut-Typ ENTITY XML 1.0 ENTITY Attribut-Typ NOTATION XML 1.0 NOTATION Attribut-Typ NMTOKEN XML 1.0 NMTOKEN Attribut-Typ

Hierarchie der Simple Types 16 Hierarchie der Simple Types Ur-Typ built-in primitive Typen AnySimpleType duration dateTime time date gYearMonth gYear gMonthDay gDay gMonth boolean base64Binary hexBinary float string decimal double anyURI QName NOTATION normalizedString integer nonPositiveInteger nonNegativeInteger long negativeInteger positiveInteger language Name NMTOKEN NCName NMTOKENS IDREF ID IDREFS ENTITY ENTITIES int unsignedLong short byte unsignedInt unsignedShort unsignedByte built-in abgeleitete Typen A 2x

Einschränkung durch Facetten 17 Einschränkung durch Facetten Facetten definieren Einschränkungen von Wertebereichen für Simple Types. Typdefinition durch Restriktion eines vorhandenen Simple Types: <xsd:simpleType> <xsd:restriction base=“Basistyp“> <xsd:Facette value=“Wert“/> ... </xsd:restriction> </xsd:simpleType> length pattern minLength maxLength whitespace enumeration maxExclusive minExclusive minInclusive maxInclusive totalDigits fractionDigits XML-Schema kennt 12 Facetten: nicht alle Facetten sind für alle Typen sinnvoll

Beispiele für Restriktionen 18 Beispiele für Restriktionen <xsd:attribute name=“jahr“> <xsd:simpleType> <xsd:restriction base=“xsd:integer“> <xsd:maxInclusive value=“2500“/> <xsd:minInclusive value=“0“/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> Einschränkung von integer auf Wertebereich 0-2500 <xsd:attribute name=“monat“> <xsd:simpleType name=“meinMonatsTyp“> <xsd:restriction base=“xsd:string“> <xsd:enumeration value=“Januar“/> <xsd:enumeration value=“Februar“/> <xsd:enumeration value=“März“/> <xsd:enumeration value=“April“/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> Einschränkung von string auf explizit spezifizierte Zeichenketten A 4x

19 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! <xsd:simpleType name = “meineZahlenliste“> <xsd:list itemType = “xsd:integer“/> </xsd:simpleType> Definition eines Listentyps Beispiel für ein Element vom Typ <meineZahlenliste> : <eineIntegerListe> 1 5 89 3048 -6784375 </eineIntegerListe>

20 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 <xsd:simpleType name = “meineVornamen“> <xsd:list itemType = “xsd:string“/> </xsd:simpleType> Beispiel für ein Element vom Typ <meineVornamen>, nachdem 1. “Carl Friedrich“ und 2. “Albert“ in die Liste eingefügt wurden: <meineVornamen> Carl Friedrich Albert </meineVornamen>