XML Schema. © Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte.

Slides:



Advertisements
Ähnliche Präsentationen
EDIS Workshop Datenintegration - Ulm A. Kroupa / N. Hirneisen Gültige Namen und ihre Eignung als Fixpunkte in taxonomischen Datenbankprojekten.
Advertisements

Kardinalität von binären Beziehungen (1)
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Dipl.- Dok. Rusalka Offer
Hands On – Einführung in XML
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.
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Das XQuery-Datenmodell. Gliederung Sequenzen Atomare Werte Knoten Knoteneigenschaften Sequenztypen und Knotenzugriffsfunktion Typabfrage Gleichheit von.
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™
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
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.
Geoinformation III Vorlesung 13b XML-Schema.
XPointer Die Xpointer beschreiben einen Ort oder Bereich innerhalb einer XML-Instanz. Die XPointer bauen auf der XML Path Language auf. Die XPointer ist.
Objektorientierte DBMS Klassen und Beziehungen Seminar: Verteilte Datenbanken Manuela Fischer.
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Typhierarchien Hierarchische Abhängigkeit zwischen zwei Typen durch –Erweiterung (engl. extension) oder –Restriktion (engl. restriction) einer bestehenden.
2.2 Definition eines Datenbankschemas (SQL-DDL)
7.3 Hinweise für den Aufbau von ER-Schemata (1|7)
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
Was versteht man unter XML Schema?
XSLT.
XML DTD.
XML Schema.
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
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
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation I Vorlesung 12 WS 2000/2001 Gerhard Gröger Modellierung mit Geodatabases.
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.
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.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
7.1.9 Kardinalität von Beziehungen (1|15)
Kurzpräsentation von Herbert Schlechta
XJustiz: Elektronischer Rechtsverkehr mit XML
XJustiz XJustiz_XML XJustiz_Schema Fachmodul Wertelisten
XJustiz Wertelisten XJustiz_XML XJustiz_Schema.
XML-Schema UML  XML-Schema
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
Erweiterung bzgl. der Kardinalität. (1|9)
Peter Brezany Institut für Softwarewissenschaften Universität Wien
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.
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
13.Dezember 2006–1Elektronisches Publizieren: Schemasprachen — Relax NG Schemasprachen für XML — Relax NG — Anne Brüggemann-Klein TU München.
XML. Überblick In Anlehnung an Sprachmerkmale Wie jede Sprache verfügen auch ML über –Syntax  Wohlgeformtheit –Grammatik  DTD, XML-Schema.
Validierung vom XML mit XML Schema
Document Type Definitions (DTDs)
XML-Schema UML  XML-Schema
 Präsentation transkript:

XML Schema

© Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte Daten und Informationsintegration gemischte Inhalte Grammatikorientierung Typisierung von Elementinhalten Schemainformation mit den Mitteln des Datenmodells ausdrücken Integritätsbedingungen (Schlüssel) flexible Zuordnung von Schemata Strukturvariationen

© Prof. T. Kudraß, HTWK Leipzig Einführung XML Schema Vielzahl von Schemasprachen erforderte Standardisierung unterstützt dokumenten- und datenorientierte Modellierung Typkonzept objektorientierte Konzepte (Vererbungsmechanismen) XML Schema Recommendation des W3C – Teil 2: Datentypdefinitionen – Teil 1: Spezifikation anderer Schemastrukturen – Teil 0: Primer mit Erläuterung für Teil 1 und 2

© Prof. T. Kudraß, HTWK Leipzig Überblick über XML Schema Wiederverwendung Schemadokumentation Modularisierung, Erweiterung Konsistenz Eindeutigkeit Schlüssel, Fremdschlüssel Struktur komplexe Datentypen Kardinalitäten, Elementdeklarationen Datentypen einfache Datentypen

© Prof. T. Kudraß, HTWK Leipzig Vordefi- nierte Typen in XML Schema

© Prof. T. Kudraß, HTWK Leipzig Typkonzept einfacher Typ (simple type) – beinhaltet weder Attribute noch Kindelemente – für Attributwerte und Inhalte mit textuellem Inhalt komplexer Typ (complex type) – Menge von Attributdeklarationen und Inhaltsmodell – Inhaltsmodell kann Kindelemente beinhalten, textuellen Inhalt zulassen oder eine Mischung vorsehen (mixed content) Komponenten eines einfachen Typs – Wertebereich (value space) – Repräsentationsraum (lexical space) mehrere Repräsentationen eines Wertes (z.B. bei Gleitkommazahlen, Datum) – Menge von Aspekten (facets)

© Prof. T. Kudraß, HTWK Leipzig Aspekte von Datentypen Fundamentale Aspekte: Ordnung eines Datentypes (voll, partiell, nicht) Kardinalität Numerisch? Beschränkende Aspekte des Wertebereichs: enumeration: Vorgabe einer Menge von Werten Längenbeschränkung für Zeichenketten: minLength, maxLength, length direkte Unter-/Obergrenze für geordneten Wertebereich: maxInclusive, maxExclusive, minExclusive, minInclusive Beschränkung der Anzahl Ziffern und Nachkommastellen: totalDigits, fractionDigits

© Prof. T. Kudraß, HTWK Leipzig Aspekte von Datentypen (Forts.) Einschränkung des Repräsentationsraumes Pattern: Wertebereich für Zeichenketten mittels regulärem Ausdruck (vglb. Perl-Syntax) Abbildung bestimmter Repräsentationen von Zeichenketten auf Werte whiteSpace: Einfluß auf die Behandlung von Leerräumen (preserve, replace, collapse)

© Prof. T. Kudraß, HTWK Leipzig Erzeugung von Datentypen aus den XML Schema vordefinierten Datentypen neue Datentypen erzeugen zwei Vererbungsmechanismen: – Einschränkung (restriction): Ableitung eines Typs aus einem Basistyp durch Angabe von beschränkenden Aspekten neuer Typ übernimmt Wertebereich und Repräsentationsraum, eingeschränkt durch die Aspekte – Erweiterung (extension): erzeugt immer einen komplexen Typ zwei Aggregationsmechanismen – Listenbildung (list) – Vereinigung (union): vereinigt Wertebereiche und Repräsentationsräume der einfachen Basistypen

© Prof. T. Kudraß, HTWK Leipzig Definition einfacher Typen (Beispiele) Liste von Telefonnummern

© Prof. T. Kudraß, HTWK Leipzig Weitere Beispiele Aufzählungsdatentyp

© Prof. T. Kudraß, HTWK Leipzig Definition komplexer Typen Einfacher Inhalt: Erweiterung oder Einschrän- kung eines Typs Beispiel: Beispiel-Element: 12345

© Prof. T. Kudraß, HTWK Leipzig Komplexer Inhalt Reihung (sequence): Liste von Elementen mit festgelegter Reihenfolge Konjunktion (all): alle aufgeführten Teile dürfen maximal einmal auftreten in beliebiger Reihenfolge, keine Verschachtelung möglich Auswahl (Disjunktion, choice): von den augeführten Elementen darf nur eines auftreten Kardinalitäten: minOccurs, maxOccurs mit numerischen Werten oder unbounded für beliebig oft, Standard: minOccurs=1, maxOccurs=1

© Prof. T. Kudraß, HTWK Leipzig Komplexer Inhalt - Beispiel <xs:element name= Vorname type=xs:string maxOccurs = unbounded /> Beispiel-Element Schmidt Otto Heinrich

© Prof. T. Kudraß, HTWK Leipzig Leere Elemente und gemischter Inhalt Beispiel-Element

© Prof. T. Kudraß, HTWK Leipzig Einschränkung bei komplexem Inhalt Einschränkungen: in der erlaubten Anzahl (minOccurs / maxOccurs) Hinzufügen Default-Wert oder festen Wert Weglassen einer optionalen Komponente Ersetzen eines einfachen Typs durch eine Einschränkung dieses Typs

© Prof. T. Kudraß, HTWK Leipzig Erweiterung bei komplexem Inhalt Hinweise: Erweiterung um Attribute (z.B. Abteilungsnummer) und Elemente Anfügen neuer Elemente von hinten (z.B. Adresse) Attribut final in der Typdefinition – final = restriction weitere Einschränkung verboten – final = extension weitere Erweiterung verboten abstract = true keine direkte Verwendung des Typs möglich

© Prof. T. Kudraß, HTWK Leipzig Gruppen Modellgruppe Attributgruppe

© Prof. T. Kudraß, HTWK Leipzig Verwendung von Gruppen Referenzen auf die Gruppen (oder: Infos in Typ kopieren) Beispiel-Element Vergleichbar mit Parameter-Entities in DTD

© Prof. T. Kudraß, HTWK Leipzig Deklarationen globale Deklaration des Element-Namens Betrag lokale Definition des Elements Betrag bezieht sich auf global definiertes Element Betrag

© Prof. T. Kudraß, HTWK Leipzig Offene Schemata Aufbau mancher Dokumentteile nicht bekannt oder nicht relevant Anwendungsbeispiele – Einbettung von XHTML in XML – Austausch von XML-Dokumenten zwischen verschiedenen Firmen auf Basis eines gemeinsamen Schemas (mit möglichen Erweiterungen) Platzhalter (wildcards) – für Elemente: any – für Attribute: anyAttribute Namensraum kann vorgeschrieben werden Elementdeklarationen beachten? (processContents)

© Prof. T. Kudraß, HTWK Leipzig Offene Schemata - Beispiel <xs:any namespace= minOccurs=1 maxOccurs=unbound processContents=skip />

© Prof. T. Kudraß, HTWK Leipzig Eindeutigkeit von Werten Definition unabhängig vom Typ möglich entschieden durch typbezogene Gleichheit (z.B.: 3 gleich 3.0 bei Typ number, aber ungleich bei string) Definition für Element- oder Attributinhalte oder Kombinationen darauf – selector: Knotenmenge von Knoten unterhalb des deklarierten Elements – field: identifiziert relativ dazu genau einen Knoten unique vs. key (vgl. SQL) Beispiel: <xs:element name=Angestellte type=Personalien minOccurs=1 maxOccurs=unbound />

© Prof. T. Kudraß, HTWK Leipzig Referenzbeziehungen Analogie zur Primär-/Fremdschlüsselbeziehung im Relationenmodell – beschränkt auf eine Instanz! Referenzmechanismus über key/keyref Besonderheiten gegenüber ID/IDREF (DTD) – Attribute und Elemente (bzw. Kombinationen daraus) als Schlüssel möglich (bei ID nur Attribute) – Schlüsseleigenschaft zusätzlich zum Datentyp (ID Ersatz für Datentyp) – getypte Referenzen – Eindeutigkeit für key und unique auf Elementtypen beschränkt (bei ID dokumentweit)

© Prof. T. Kudraß, HTWK Leipzig Referenzbeziehungen - Beispiel <xs:element name=Mitarbeiter minOccurs=2 maxOccurs=unbounded> <xs:attribute name=PersNr type=xs:positiveInteger use=required /> alle Angestellten, die in einem Projekt mitarbeiten, müssen auch in der entsprechenden Abteilung vorkommen

© Prof. T. Kudraß, HTWK Leipzig Defizite bei Referenzbeziehungen keyref berücksichtigt nicht einzelne Elemente einer Liste (list), d.h. mit einem Wert in keyref kann man nicht ein einzelnes Element einer Liste, die im key steht, referenzieren Vorgängerachsen im XPath-Ausdruck von field nicht zugelassen kein Verweis möglich mit hierarchischem Schlüssel (d.h. Anteile über mehrere Element verteilt, die in hierarch. Beziehung stehen) – Beispiel: Eindeutigkeit der Spielernummer pro Verein gegeben kein key aus Vereinsname und Spielernummer möglich Ausdruck in field muss genau einen Wert liefern, keine Navigation nach oben keine instanzübergreifenden Integritätsbedingungen, z.B. Schlüsselbedingungen in einer Menge von XML-Dokumenten oder Referenzbeziehungen zwischen verschiedenen XML-Dokumenten

© Prof. T. Kudraß, HTWK Leipzig Namen und Namensräume Gültigkeitsbereich – einfache und komplexe Typen teilen sich Gültigkeitsbereich (symbol space) – Element kann heißen wie einfacher Typ Namensraum – Vokabular von XML Schema: – Präfix xs steht für diesen Namensraum – Elemente und Attribute eines Dokuments können zu höchstens einem Namensraum gehören (im targetNameSpace des umgebenden schema-Elements angegeben) – globale Elemente, Attribute und Definitionen gehören immer dem Namensraum des Schemas an – Namensraumzugehörigkeit auch für Unterelemente definierbar

© Prof. T. Kudraß, HTWK Leipzig Ableitung, Ersetzung Ableitung von Typen (Einschränkung, Erweiterung) möglich – Einschränken durch final – Aspekte fixieren: fixed=true Ersetzungsgruppen (substitution groups) globales Element kann Ersatz für anderes globales Element sein (Ersetzungsgruppenkopf, substitution group head) Motivation: ermöglicht Interoperabilität zwischen Schemata unterschiedlicher Herkunft mit demselben Inhalt

© Prof. T. Kudraß, HTWK Leipzig Ersetzungsgruppe (Beispiel) Beispiel-XML-Fragment validiert gegen Schema: Schmidt Otto </Personalien

© Prof. T. Kudraß, HTWK Leipzig Schema-Import Zusammensetzung aus mehreren Schemadokumenten möglich include-Element: Einfügen von Schemadokumenten mit Deklarationen zum selben Namensraum Umdefinition möglich (redefine) Schemadokumente aus anderem Namensraum über import einbindbar

© Prof. T. Kudraß, HTWK Leipzig Instanzbezogene Konzepte (xsi Attribut xsi:type – i. Allg. Typ eines Elements durch Deklaration im Schema bestimmt – Instanz mit einem bestimmten Typ definiert werden mittels xsi:type (kompatibel mit Typ lt. Schemadefinition – durch Erweiterung / Einschränkung) Attribut xsi:nil – Element ohne Inhalt (nillable=true) kann als gültig akzeptiert werden, wenn Attribut xsi:nil=true – Unterschiede zu NULL-Werten in Datenbanken: XML Schema unterscheidet nicht vorhandenes Element, Element mit (ggf. leerem) Inhalt und nil-Element (trotzdem keine dreiwertige Logik) xsi:schemaLocation und xsi:noNamespaceSchemaLocation – Identifikation des entsprechenden Schemas

© Prof. T. Kudraß, HTWK Leipzig Physisches Schema XML Schema = logisches Schema Anbindung physischer Informationen an Schemaelemente – entkoppelte Information: eigenes Dokument mit Namen aus der XML Schemadefinition (z.B. Abbildung XML auf Tabellen) – proprietäre Schemasprache, z.B. XDR-basierte Definitionssprache von XML Views in MS SQL Server – Schema Adjunct: separates Dokument, allg. Framework, Konsistenzwahrung möglich – Schemasprachenerweiterung 1. zusätzliche Attribute für spezifische Informationen (mit anderem Namensraum) – Beispiel Oracle (siehe später) 2. Hinzufügen von annotation-Elementen für Benutzerinformation (documentation) und für maschinell auswertbare Information (appInfo), Beispiele: SQL/XML und Tamino-Schemasprache

© Prof. T. Kudraß, HTWK Leipzig XML Schema - Zusammenfassung viele mächtige Modellierungskonzepte – umfangreiches Typsystem – lokale Definitionen möglich – Vererbungsmechanismus und Beschränklungen hohe Komplexität ist aber auch Nachteil (Kritik von James Clark, Tim Bray u.a.) zunehmende Verwendung in kommerziellen Produkten Schema nicht für Mengen von Dokumenten ausgelegt (z.B. Konsistenzbedingungen nur innerhalb einer Instanz) XML Schema durch ein XML Schema als Metaschema beschreibbar (Grundlage für Validierung)

© Prof. T. Kudraß, HTWK Leipzig Einige Defizite von XML Schema ungeordneter Inhalt nur schwer zu beschreiben keine Möglichkeit, gegenseitige Abhängigkeit zwischen Attributen auszudrücken Erweiterungen bei komplexen Typen nur am Ende möglich Validierung liefert zusätzliche Daten zum validierten XML- Dokument, z.B. Default-Werte unterschiedliches Verhalten von nichtvalidierenden Anwendungen da andere Daten erhalten Hinzufügen von Aspekten und Repräsentationen nicht vorgesehen XML Schema baut nicht auf Konzepten der Objektorientierung auf (keine wirkliche Vererbung, nur ähnliches Konzept)