DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge.

Slides:



Advertisements
Ähnliche Präsentationen
Extensible Markup Language
Advertisements

Worzyk FH Anhalt Datenbanksysteme für FÜ WS 2004/2005 XML - 1 XML Extensible Markup Language.
Objektorientierte Datenbanken
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Franziska Schmidt Sarah Ahlheit
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.
Java: Objektorientierte Programmierung
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
XML-basierte Techniken
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™
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.
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.
EDV1 - Komplexe Datentypen
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
XML und Datenbanken - Einführung in XML -
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?
Projekt Textorientierte Autorentools Werkzeugentwicklung aTool Springer Verlag – RWTH Aachen – TU München19. Februar 2001 Lehrstuhl für Informatik III.
XML DTD.
XML Schema.
XML eXtensible Markup Language
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.
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.
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
Kurzpräsentation von Herbert Schlechta
XJustiz XJustiz_XML XJustiz_Schema Fachmodul Wertelisten
XJustiz Wertelisten XJustiz_XML XJustiz_Schema.
XML-Schema UML  XML-Schema
Peter Brezany Institut für Softwarewissenschaften Universität Wien
CSS Cascading Style Sheets
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.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
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.
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 und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
Ableitung UML  XML Schema
XML - Warum: Das HTML-Dilemma HTML, SGML, XML - Wie: Syntax, Konzepte, Sprachelemente Basics Wohlgeformte XML-Dokumente (ohne DTD) Gültige XML-Dokumente.
Binärbäume.
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
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
Document Type Definitions (DTDs)
XML-Schema UML  XML-Schema
 Präsentation transkript:

DTD und W3C XML Schema Seminar XML und Datenbanken Vortrag: Sven Blüge

DTD (Dokumenttyp- Deklaration) Inhalt  genaue Definition aller nutzbaren Elemente und Entities  Inhalt und Attribute der Elemente Zweck  Validierung des XML-Dokuments  Dokumentation der gewünschten Struktur

DTD am Beispiel Element-Deklaration Festlegung des allgemeinen Typs Beschreibung des Inhalts Reihenfolge der Deklarationen sind beliebig person enthält genau einmal name und eine beliebige Anzahl von beruf -Elementen name muß genau einmal vorname und einmal nachname enthalten vorname, nachname und beruf haben den Typ PCDATA (Parsed Character Data) DTD (person.dtd) Gültiges XML-Dokument Förster Peter Mustermann Fahrer Mechaniker

Deklaration einer externen DTD: Bedeutung:  Wurzelelement des XML-Dokuments ist person  XML-Dokument bezieht sich auf die DTD in der Datei person.dtd  Quelle kann lokal oder im Internet liegen Dokumenttyp-Deklaration 1

DTD kann im XML-Dokument enthalten sein (interne Deklaration) <!DOCTYPE person[../.. ]> Kombination externer/interner Deklaration möglich <!DOCTYPE person SYSTEM "name.dtd" [ <!ELEMENT person (name, beruf*) ]> Dokumenttyp-Deklaration 2

Syntax: #PCDATA  Ist einfachstes Inhaltsmodell  Hat keine Kindelemente  Enthält vom Parser ersetzte Zeichendaten <!ELEMENT telefonnummer (#PCDATA) einfache Kindelemente  Enthalten nur einzelne Kindelemente Element-Deklaration 1

Element-Deklaration 2 Folgen (Sequenzen)  Enthält mehrere Kindelemente  Anzahl der Kinder im XML-Dokument durch Suffix bestimmt: ? Kein oder ein Element erlaubt * Kein oder mehrere Elemente erlaubt +Ein oder mehrere Elemente erlaubt Erfolgt keine explizite Suffix-Angabe, so muss das Kindelement genau einmal vorkommen Auswahl  Auswählbare Elemente werden durch „|“ getrennt Klammern  Schachtelung von Auswahl und Folgen möglich

Element-Deklaration 3 Gemischter Inhalt  Enthält Kindelemente und Zeichendaten  Die Liste der Kindelemente kann beliebig lang sein, allerdings muss #PCDATA an erster Stelle stehen.  Gezeigte Deklaration ist die einzig gültige Möglichkeit, gemischten Inhalt darzustellen Leere Elemente  Für Elemente ohne Inhalt. Können Attribute enthalten   Beispiel: ANY  Ein als ANY deklariertes Element kann beliebigen Inhalt haben  Enthaltene Elemente müssen definiert sein 

Attribut-Deklaration #REQUIRED  Angabe erforderlich #IMPLIED  Angabe optional #FIXED  Angabe optional, Wert unveränderlich Literal  Standardwert 10 erlaubt Attributtypen: CDATA, NMTOKEN, NMTOKENS, Aufzählung, ENTITY, ENTITIES, ID, IDREF, IDREFS, NOTATION <!ATTLIST bild quelle CDATA #REQUIRED hoehe CDATA #IMPLIED breite CDATA "250" alt CDATA #FIXED "Bild" > Entspricht:

Allgemeine Entities  Vorkommen: Dokumenteninhalt  5 vordefinierte Entities (,&,‘,“)  Deklaration  Nutzung &baustein; Externe geparste allgemeine Entities  Vorkommen: Dokumenteninhalt  Referenz &baustein2; kann vom Parser durch den externen Inhalt ersetzt werden Parameter-Entities  Vorkommen: DTD  Gruppiert Elemente  Redefinition externer Entities intern möglich Entity-Deklaration

<![IGNORE[ ]]> <![INCLUDE[ ]]> <![%namen_einfuegen;[ ]]> DTDs sind aufteilbar Kombination mittels externer Paramter-Entity-Referenzen %namen; Bedingtes Einfügen Externe DTD-Teilmengen

W3C XML Schema Hauptzweck  Validierung  Dokumentation Nachfolger von DTD XML Schema nutzt XML Notation

XML Schema – Ein Beispiel Elemente: name, vorname, nachname Attribute: id Schema-Dokumentelement: schema Zur Erstellung eines XML Schemas ist es nötig, einzelne XML Elemente zu klassifizieren.

Klassifizierung 1 Inhaltsmodelle InhaltsmodellLeerEinfachKomplexGemischt KindelementeNein Ja KindtextNeinJaNeinJa Leeres Inhaltsmodell <name vorname="Peter„ nachname="Mustermann" /> Komplexes Inhaltsmodell Peter Mustermann Einfaches Inhaltsmodell Peter Mutermann Auf den Hund gekommen Gemischtes Inhaltsmodell Peter lebt in Deutschland

Klassifizierung 2 Typen Enthält ein Element nur Textknoten und weder Kindelemente noch Attribute, dann wird es als einfacher Typ bezeichnet. In allen anderen Fällen handelt es sich um komplexe Typen. Einfache Typen (simpleType) Peter Mutermann Komplexe Typen (complexType) Auf den Hund gekommen Peter

Elementdefinition xs ist das Präfix, welches mit dem W3C XML Schema verknüpft ist (auch wenn im folgenden teilweise weggelassen, so ist doch der Bezug zum W3C XML Schema gemeint) xs:string ist ein Datentyp, der im, mit xs verknüpften, Schema definiert ist Reihenfolge der Definition ist ohne Bedeutung Sprachelemente können nahezu beliebig geschachtelt werden Definitionen im Wurzelelement (hier schema) werden als global bezeichnet

Typen 1 Überblick

Typen 2 primitive Typen

Typen 3 string-ähnliche Typen

Typen 4 Numerische Typen

Definition eigener Typen 1 einfache Datentypen, restriction Begrenzte Anzahl von primitiven Typen vorhanden Neubildung von Typen durch Ableitung möglich Neue Eigenschaften ergeben sich durch Erweiterung (nur bei komplexen Datentypen) oder Einschränkung Beispiel: Definition eines Ganzzahlwertes mit dem Wertebereich [-2;5] restiction gibt den Datentyp an, auf den die neuen Einschränkungen angewendet werden sollen

Definition eigener Typen 2 komplexe Typen, extension Nachfolgende Definition hat die Aussage: Das Element titel hat komplexen Typ, der einfachen Inhalt hat, der wiederum durch Erweiterung des Typs xs:string entsteht, indem das an anderer Stelle definierte Attribut lang hinzugefügt wird. Beispiel: Auf den Hund gekommen

<xs:element ref="born" minOccurs="1"/> <xs:element ref="dead" minOccurs="0"/> <xs:element name="author" type="author"> Definition eigener Typen 3 komplexe Typen, sequence, all sequence  Standard für das minimale und maximale Auftreten eines Kindelements ist 1  Reihenfolge in einer Sequence ist bindend  Attribute nach Folge definieren  Beispiel: sequence ist Kompositor und element -Elemente sind Partikel all  definiert Folge, bei der Reihenfolge unbedeutend  Einschränkungen: Nur als Kompositor, nicht Partikel Nur Elemente vom Typ xs:element enthalten Auftretenshäufigkeit von Elementen nicht größer als 1 Das Beispiel für sequence ist daher nicht für all geeignet

Definition eigener Typen 4 komplexe Typen, choise Ein Element kann verschiedene Möglichkeiten haben, Inhalte aufzunehmen. Im Beispiel ist choise ein Kompositor, die element - und sequence - Elemente die Partikel

Definition eigener Datentypen 5 komplexe Typen, group Wenn bestimmte Gruppen oft benötigt werden, lassen sie sich zu Gruppen zusammenfassen Gruppen müssen global definiert werden Es gibt Attribut- und Elementgruppen Definition Attributgruppe Benutzung: Definition Elementgruppe Benutzung:

Schema-Inklusion Aufteilung eines Schemas Schema-Inclusion ( include )  Mehrere Teile werden mittels include in ein Hauptschema eingebunden  Doppelte Definitionen in beiden Schemas werden als Fehler behandelt Schema-Inclusion mittels Redefinition ( redefine )  Typen und Element/Attributgruppen des eingebundenen Schemas können unter gleichem Namen redefiniert werden, was sonst verboten wäre  Erweiterung / Einschränkung wie beim Erstellen eigener Datentypen möglich Inclusionsmethoden von XML  Externe geparste Entities Können lokal eingebunden werden. Werden in DTD deklariert und im Dokument als Entity referenziert  XInclude Können lokal eingebunden werden Vorherige Deklaration nicht notwendig

Eindeutigkeit, Schlüssel und Schlüsselverweise 1 Ein XML-Dokument muss die Möglicheit bieten, einhaltene Infomationen zu identifizieren und zu referenzieren Dazu bietet XML Schema zwei Möglichkeiten 1. ID, IDREF und IDREFS  Teilweise von DTD geerbt  Lexikalischer Raum wie beim Datentyp NCName (darf u.a. nicht mit Ziffern beginnen und kein Whitespace enthalten)  Global definiert  Kann in Elementen und Attributen verwendet werden  Beispiel:  ID stellt den Identifikator, IDREF den Verweis darauf und IDREFS den Verweise auf eine Liste von Identifikatoren dar  Der Wert für ID muss im Dokument eindeutig sein, der Wert für IDREF bzw. IDREFS muss im Dokument vorhanden sein

Eindeutigkeit, Schlüssel und Schlüsselverweise 2 2. unique, key und keyref  unique Der selector gibt den relativen Pfad zum Unterelement an und field das/die Element/e, die zur Identifikation genutzt werden. Knoten, deren „ field “ nicht existiert, werden nicht beachtet In jeder Bibliothek sollte ein Buch, das über seine ISBN identifiziert wird, eindeutig bestimmt sein..../...

 key Hat die selben Eigenschaften wie unique und zusätzlich die Bedingung, dass die als field deklarierten Knoten angegeben werden müssen.../... Eindeutigkeit, Schlüssel und Schlüsselverweise 3

Eindeutigkeit, Schlüssel und Schlüsselverweise 4  keyref Kann als Verweis auf key und unique verwendet werden keyref muss unterhalb des Elements oder dessen Nachkommen definiert sein, in dem die referenzierten Elemente key oder unique definiert sind Ein referenzierter Wert muß im Dokument vorhanden sein.../...

Der Autor eines Buches. <xs:element name="author" type="authorType" doc:doc="Beschr. des Autors eines Buches." xmlns:doc=" Dokumentation und Kommentare XML 1.0 – Kommentare annotation -Element  documentation  appinfo Fremdattribute

DTD vs. W3C XML Schema

Vorteile von XML Schema gegenüber DTD statt 10 Datentypen werden bereits 41 Basis-Datentypen definiert mit den objektorientierten Methoden Restriction und Extension können diese Basis-Typen eingeschränkt bzw. ausgedehnt werden und somit die Beschreibung beliebiger Datenstrukturen erlauben XML Schemas werden selbst in XML erstellt, sodass Parser und Transformationen (XSLT) sehr einfach darauf angewendet werden können beliebige Elemente können als eindeutige Elemente und sogar als Schlüsselwerte definiert werden ( unique, key ) statt in einer sequentiellen Anordnung von Elementen können Elemente auch in einer Menge angeordnet werden ( all ) beliebige Elemente können den gleichen Namen besitzen, aber verschiedenen Inhalt (mittels unterschiedlicher Namespaces)