Geoinformation III Vorlesung 13b XML-Schema.

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierte Programmierung
Advertisements

DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
EDIS Workshop Datenintegration - Ulm A. Kroupa / N. Hirneisen Gültige Namen und ihre Eignung als Fixpunkte in taxonomischen Datenbankprojekten.
Extensible Markup Language
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Kritische Betrachtung
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: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Bäume als Datenmodelle
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
XML-Parser Manuel Röllinghoff.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Modularization of XHTML™
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
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.
Hauptseminar XML-Technologie: Resource Description Framework (RDF) Michael Kranz Betreuer: Roland Haratsch.
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
RDF-Schema Seminar: „Semantic Web“ André Rosin,
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Typhierarchien Hierarchische Abhängigkeit zwischen zwei Typen durch –Erweiterung (engl. extension) oder –Restriktion (engl. restriction) einer bestehenden.
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
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 Schema.
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
Entwurfs- und Implementationsdiagramme
XML – Schema (DTD).
Fortsetzung DTDs, UML  XML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation I Vorlesung 12 WS 2000/2001 Gerhard Gröger Modellierung mit Geodatabases.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
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.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Kurzpräsentation von Herbert Schlechta
XJustiz: Elektronischer Rechtsverkehr mit XML
XJustiz XJustiz_XML XJustiz_Schema Fachmodul Wertelisten
XML-Schema UML  XML-Schema
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Abbildung UML-Schema  Rel. Schema (1)
Sammlungsklassen Array.
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Geoinformation3 Geoinformation III XML Grundlagen und Dokumentspezifikation Vorlesung 12b.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Java-Kurs Übung Besprechung der Hausaufgabe
Geoinformation3 Geoinformation III XML-Schema Vorlesung 13a.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
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
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
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.
Fortsetzung DTDs, UML  XML
Validierung vom XML mit XML Schema
Fortsetzung DTDs, UML  XML
XML-Schema UML  XML-Schema
Dokumentenproduktion im Medienzentrum
 Präsentation transkript:

Geoinformation III Vorlesung 13b XML-Schema

Vereinigungstypen (Union Types) 2 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 <xsd:simpleType name=“monatsangabe“> <xsd:union memberTypes=“meinMonatsTyp xsd:positiveInteger“/> </xsd:simpleType> s. V. 13a Folie 19 <monat>Februar</monat> <monat>2</monat> <monat>April</monat> Beispiel für ein Elemente vom Typ <monatsangabe> :

Complex Types (I) Benannte komplexe Typen (Named Complex Types) 3 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 deshalb 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)

Komplexe Inhalte (Content Models) 4 Komplexe Inhalte (Content Models) <sequence> . . . </sequence> alle darin deklarierten Elemente müssen in genau dieser Reihenfolge im Instanzendokument vorkommen <choice> . . . </choice> genau eines der darin deklarierten Elemente muss im Instanzendokument vorkommen <group> . . . </group> Gruppiert Deklarationen, die dann über ihren Namen in das Content Model eingefügt werden können

Beispiel Complex Types und Content Models 5 Beispiel Complex Types und Content Models <xsd:complexType name=“personenTyp“> <xsd:sequence> <xsd:element name=“vorname“ type=“xsd:string“/> <xsd:element name=“name“ type=“xsd:string“/> <xsd:element name=“telefonnummer“> <xsd:complexType> <xsd:choice> <xsd:element name=“telnummerPrivat“ type=“xsd:string“/> <xsd:element name=“telnummerJob“ type=“xsd:string“/> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name=“geburtsdatum“ type=“xsd:date“/>

6 Verteilte Schemata Schemadefinitionen können über mehrere Dokumente verteilt sein Modularisierung, Wiederverwendbarkeit Übersichtlichkeit ein Schema wird mittels des <include>-Tags in ein anderes Schema eingebettet: <include schemaLocation = “http://www.beispiele.de/verteiltes_schema.xsd“/> das eingefügte Dokument muss denselben Target Namespace besitzen, d.h. die Definitionen darin werden demselben Namensraum hinzugefügt weiterer Möglichkeit mittels <import>, das auch die Verwendung mehrerer Target Namespaces erlaubt

7 Vererbung Eine Vererbung, wie sie bei UML möglich ist, erfolgt in XML-Schema mittels Ableitung eines Typs von einem Basistyp (Oberklasse) durch Erweiterung Person Name Vorname Attribute von Student: Name geerbt von Vorname Person Matrikelnummer } Student Matrikelnummer

Ableitung von Typen durch Erweiterung (I) 8 Ableitung von Typen durch Erweiterung (I) <schema targetNamespace=“http://www.personenregister.de/Personen“ xmlns=“http://www.w3.org/2001/XMLSchema“ xmlns:pers=“http://www.personenregister.de/Personen“> <complexType name=“personTyp“> <sequence> <element name=“name“ type=“string“/> <element name=“vorname“ type=“string“/> </sequence> </complexType> <complexType name=“studentTyp“> <complexContent> <extension base=“pers:personTyp“ <element name=“matrikelnr“ type=“positiveInteger“/> </extension> </complexContent> </schema>

Ableitung von Typen durch Erweiterung (II) 9 Ableitung von Typen durch Erweiterung (II) <?xml version=“1.0“> <studentenliste xmlns=“http://www.personenregister.de/Personen“> <student> <name>Zupp</name> <vorname>Jupp</vorname> <matrikelnr>123456789</matrikelnr> </student> </studentenliste> 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

Polymorphie In objektorientierten Programmiersprachen dürfen 10 Polymorphie In objektorientierten Programmiersprachen dürfen Variablen vom Typ einer Oberklasse auch Objekte vom Typ einer ihrer Unterklassen zugewiesen werden der Inhalt solcher Variablen kann daher polymorph sein Beispiel in Java: class Student extends Person {...} . . . Person p; Student s = new Student(“Jupp“, “Zupp“, 4711); p=s; In XML-Schema muss explizit spezifiziert werden, wenn ein Element, dass auf einem spezielleren Typ basiert, im Instanzdokument auch dort vorkommen darf, wo eigentlich ein Element vom Typ der Oberklasse erwartet wird

Äquivalenzklassen (substitution groups) 10 Ä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 Dürfen dort verwendet werden, wo eigentlich ein Element <pers:person> erwartet wird <element name=“student“ type=“studentTyp“ substitutionGroup=“pers:person“/> <element name=“professor“ type=“professorTyp“ <pers:student>Jupp Zupp</pers:student> <pers:professor>Carl Friedrich Gauß</pers:professor>

Abstrakte Elemente und Typen 11 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 “studentTyp“ wird von “personTyp“ abgeleitet (und ist nicht abstrakt). <schema xmlns=“http://www.w3c.org/2001/XML-Schema“ targetNamespace=“http://personen.abstraktebeispiele.de/schema“ xmlns:pers=“http://personen.abstraktebeispiele.de/schema“ <complexType name=“personTyp“ abstract=“true“> ... </complexType> <complexType name=“studentTyp“> <complexContent> <extension base=“pers:personTyp“/> </complexContent> <element name=“person“ type=“pers:personTyp“/> <element name=“student“ type=“pers:studentTyp“/> </schema> “personTyp“ wird als abstrakter Typ definiert. Element “person“ darf nicht im Instanzdokument vorkommen; wohl aber “student“, weil es auf dem abgeleiteten Typ “studentTyp“ basiert.