Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML: Extensible Markup Language Datenmodell Schemabeschreibung Anfragesprachen.

Ähnliche Präsentationen


Präsentation zum Thema: "XML: Extensible Markup Language Datenmodell Schemabeschreibung Anfragesprachen."—  Präsentation transkript:

1 XML: Extensible Markup Language Datenmodell Schemabeschreibung Anfragesprachen

2 HTML-Datenmodell Kein Schema Nur Insider können die beiden Listen interpretieren: "Oben: Professoren" "Unten: Vorlesungen" Wenig geeignet als Datenaustauschformat HTML-Tags tragen keine semantische Information HTML-Renderer nutzen die Tags lediglich zur Pr ä sentation (Formatierung) der Daten Curie Sokrates Mäeutik Bioethik

3 Relationales Datenmodell Schema ist vorgegeben und man kann nur schema-konforme Daten einfügen (Problem: Ausnahmen NULL-Werte) Bedeutung der Daten wird durch das Schema definiert Kein (Inter-DBMS-)Datenaustauschformat Professoren PersNrNameRangRaum 2125SokratesC RusselC KopernikusC PopperC AugustinusC CurieC KantC47 Vorlesungen VorlNrTitelSWSGelesen Von 5001Grundzüge Ethik Erkenntnistheorie Mäeutik Logik Wissenschaftstheorie Bioethik Der Wiener Kreis Glaube und Wissen Die 3 Kritiken42137

4 XML-Datenmodell Das XML-Datenmodell liegt zwischen HTML … Schemalos Beliebiges Format, solange die (laxe) HTML-Syntax respektiert wird … und Relationen Rigides Schema Keinerlei Ausnahmen XML: Semi-strukturierte Daten XML-Dokumente k ö nnen einem optionalen Schema gehorchen Schemalose Dokumente sind problemlos m ö glich und interpretierbar

5 Unsere Beispiel-Daten in XML... Curie Sokrates Mäeutik Bioethik Semantische Tags (Marken): Geben die Bedeutung der Elemente an, immer paarweise content

6 XML-Daten mit Schema (DTD) Datenbanksysteme: Eine Einführung Alfons Kemper Andre Eickler Oldenbourg Verlag

7 Die hierarchische Struktur im Bild

8 DTD: Rekursive Strukturen Maybach 620 Limousine V12-Biturbo Motor mit 620 PS Nockenwelle Kühlschrank für Champagner

9

10 XML- Dokument der Universität Prof. Sokrates Dr. Erhard Theologie Augustinus C3 309 Glaube und Wissen 2

11 Physik Curie C4 36 Kopernikus C3 310 Philosophie...

12 XML Namensräume... ... Informationssysteme... Datenbanksysteme: Eine Einführung Alfons Kemper Andre Eickler Oldenbourg Verlag...

13 XML-Schema: mächtiger als DTDs

14 XML-Schema: mächtiger als DTDs

15

16

17 Verweise in XML-Dokumenten XML ist ideal für die Modellierung von Hierarchien Hierarchie entsteht durch Schachtelung von Elementen Genau diese Situation tritt im Uni-Beispiel auf: Uni Fakultäten Professoren Vorlesungen

18

19 Modellierung eines Stammbaums "Kinder haben zwei Elternteile." Also kann man ein Kind nicht mehr als Sub-Element einer Person modellieren. Wem soll man es zuordnen (Vater oder Mutter)? Hier kann man mit dokumen-internen Verweisen ( IDREF und IDREFS ) modellieren.

20 Graphische Darstellung des XML- Dokuments

21 Familie.xml ]> Adam Eva Kain Abel

22 XML-Anfragesprache XQuery XQuery wird durch das W3C derzeit als Anfragesprache f ü r XML-Daten standardisiert (Juli 2006: Candidate Recommendation) XQuery ist ein kompositionale, funktionale Sprache, in der sowohl Werte als auch XML-Knoten manipuliert werden k ö nnen XQuery bettet XPath ein, ein Anfragesprache, in der Pfadausdrücke in XML-Knotenhierarchien spezifiziert werden k ö nnen Ausgehend von Referenzknoten, werden Lokalisierungspfade bestehend aus einzelnen Lokalisierungsschritten formuliert Jeder Lokalisierungsschritt besteht aus bis zu drei Teilen: Achse::Knotentest[Prädikat]

23 XPath-Achsen self : Hierbei handelt es sich um den Referenzknoten. attribute : Hierunter fallen alle Attribute des Referenzknotens -- falls er überhaupt welche besitzt. child : Entlang dieser Achse werden alle direkten Unterelemente bestimmt. descendant : Hierunter fallen alle direkten und indirekten Unterelemente, also die Kinder und deren Kinder u.s.w. descendant-or-self : Wie oben, außer dass der Referenzknoten hier auch dazu gehört. parent : Der Vaterknoten des Referenzknotens wird über diese Achse ermittelt. ancestor : Hierzu zählen alle Knoten auf dem Pfad vom Referenzknoten zur Wurzel des XML-Baums.

24 Achsen … contd ancestor-or-self : Wie oben, außer dass der Referenzknoten auch mit eingeschlossen wird. following-sibling : Dies sind die in Dokumentreihenfolge nachfolgenden Kinder des Elternknotens von self. preceding-sibling : Hierbei handelt es sich um die in Dokumentreihenfolge vorangehenden Kinder des Elternknotens von self. following : Alle Knoten, die in Dokumentreihenfolge nach dem Refernzknoten aufgeführt sind. Die Nachkommen ( descendant ) des Referenzknotens gehören aber nicht dazu. preceding : Alle Knoten, die im Dokument vor dem Referenzknoten vorkommen -- allerdings ohne die Vorfahren ( ancestor ).

25

26

27 XPath-Ausdrücke (Beispiele) doc("Uni.xml")/child::Universität[attribute::UnivName= "Virtuelle Universität der Großen Denker"] Als Ergebnis bekommt man den gesamten Baum unseres Beispieldokuments doc("Uni.xml")/child::Universität/child::Fakultäten/child::Fakultät/ child::FakName Theologie Physik Philosophie Äquivalent für unser Beispiel: doc("Uni.xml")/descendant-or-self::FakName

28 XPath-Ausdr ü cke (Beispiel) doc("Uni.xml")/child::Universität/attribute::UnivName Ergebnis (XML-Attribut): UnivName="Virtuelle Universität der Großen Denker"

29 XPath-Ausdr ü cke (Beispiele) doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät[child::FakName="Philosophie"]/ child::ProfessorIn[child::Rang="C4"]/child::Vorlesungen/ child::Vorlesung/child::Titel Ethik Mäeutik Logik Erkenntnistheorie Wissenschaftstheorie Bioethik Grundzüge Die 3 Kritiken

30 XPath-Ausdr ü cke (Beispiele) doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät/child::FakName[parent::Fakultät/ child::ProfessorIn/child::Vorlesungen] Theologie Philosophie

31 XPath-Ausdr ü cke (Beispiele) doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät[ / descendant::Vorlesungen]/child::FakName doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät[descendant::Vorlesungen]/child::FakName ?

32 doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät[position()=2] Es wird die zweite (in document order) Fakultät ausgegeben: Physik Curie C4 36 Kopernikus C3 310

33 XPath-Ausdr ü cke (Beispiele) doc("Uni.xml")/child::Universität/child::Fakultäten/ child::Fakultät[child::ProfessorIn/child::Vorlesungen/ child::Vorlesung/child::Titel="Mäeutik"]/child::FakName Philosophie

34 XPath: Verkürzte Syntax. aktueller Referenzknoten ( self::node() ).. Vaterknoten ( parent::node() ) a/b/c child::a/child::b/child::c a//b Attributzugriff ( attribute::a )

35 XPath-Ausdr ü cke (Beispiele f ü r verk ü rzte Syntax) doc("Uni.xml")/Universität/Fakultäten/ Fakultät[FakName="Physik"]//Vorlesung doc("Uni.xml")/Universität/Fakultäten/ Fakultät[position()=2]//Vorlesung doc("Uni.xml")/Universität/Fakultäten/Fakultät[2]//Vorlesung doc("Uni.xml")/Universität/Fakultäten/ Fakultät[FakName="Physik"]/ProfessorIn/ Vorlesungen/Vorlesung

36


Herunterladen ppt "XML: Extensible Markup Language Datenmodell Schemabeschreibung Anfragesprachen."

Ähnliche Präsentationen


Google-Anzeigen