Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –

Ähnliche Präsentationen


Präsentation zum Thema: "XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –"—  Präsentation transkript:

1 XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner – SS 2012 David Neugebauer – 07.05.2012

2 Übersicht 1.Sequenzen  Struktur  Typen und Konstruktoren  Einige Operatoren und Funktionen 2.Sequenzen und XQuery  XPath/XQuery-Datenmodell  Weitere Funktionen 07.05.2012XPath Datenmodell und Sequenzen2

3 Sequenzen - Struktur Jede Sequenz enthält Einträge („items“) – einen (1) – mehrere (1, 2, 3) – oder keinen () 07.05.2012XPath Datenmodell und Sequenzen3

4 Sequenzen - Struktur Die Einträge sind atomare Werte (3, 4, 5) ("string", "noch ein string") oder Knoten ( Alice im Wunderland ) ( Snatch ) 07.05.2012XPath Datenmodell und Sequenzen4

5 Sequenzen - Struktur Sequenzen sind nicht homogen, (51342, "Erma Meier", ) geordnet, ("blau", "grün") ≠ ("grün", "blau") haben keine Mengeneigenschaften, (1, 2, 2, 2, 3, 3) ≠ (1, 2, 3) können nicht verschachtelt werden. ("xyz", (1, 2), ()) = ("xyz", 1, 2) 07.05.2012XPath Datenmodell und Sequenzen5

6 Sequenzen – Typen Atomarer Werte integer (3, 4, 567, 8) string (" Einst, um eine Mittnacht graulich, ") ("da ich", "trübe sann", "und", "traulich") boolean (true) noch: float, decimal, time, duration,... 07.05.2012XPath Datenmodell und Sequenzen6

7 Sequenzen – Konstruktoren Eintrag als bestimmten Datentyp behandeln xs:string(123)→ ("123") xs:boolean(1)→ (true) xs:boolean(845)→ (true) xs:boolean(0)→ (false) xs:integer(false)→ (0) Verschachtelung xs:integer(xs:boolean(123))→ (1) xs:boolean(xs:string(123))→ Fehler! 07.05.2012XPath Datenmodell und Sequenzen7

8 Sequenzen – Konstruktoren Knoteneinträge atomisieren xs:integer( 2005 ) → (2005) xs:string( Inception ) → ("Inception") 07.05.2012XPath Datenmodell und Sequenzen8

9 Sequenzen – Operatoren und Funktionen Operatoren für Zahlenwerte (1+1, 2-3, 4*3) = (2, -1, 12) (1 to 7) = (1, 2, 3, 4, 5, 6, 7) sum(1 to 3) = (6) Funktionen fn:reverse(1, 2, 3) = (3, 2, 1) fn:count("grün", "blau", "rot") = (3) fn:index-of(("grün", "blau"), "blau") = (2) 07.05.2012XPath Datenmodell und Sequenzen9

10 Xpath/XQuery - Datenmodell Anforderung: Umgang mit vielfaltältigen Objekten – XML-Fragmente – Mengen von XML-Dokumenten – numerische Werte – Mischungen daraus – wenig bis keine Typinformationen (DTD, Schema nicht notwendig) Datenmodell – Sequenz als einfaches grundlegendes Konstrukt – XML-Notation ansprechbar als Menge von Sequenzen (mit Knoten als Einträgen) 07.05.2012XPath Datenmodell und Sequenzen10

11 Xpath/XQuery - Datenmodell Beispiel: XPath-Ausdruck //book/title Rückgabe: Sequenz mit Knoten als Einträgen ( Everyday Italian, Harry Potter, XQuery Kick Start, Learning XML ) 07.05.2012XPath Datenmodell und Sequenzen11

12 XQuery – Funktionen über Sequenzen XPath-Ausdruck als Argument einer Funktion über Sequenzen – Einträge zählen fn:count(//book/title) – vierten Eintrag einer Sequenz entfernen fn:remove((//book/title), 4) – Sequenz an vierter Stelle erweitern fn:insert-before((//book/title), 4, "NEU") – Dritten und vierten Eintrag einer Sequenz ausgeben lassen fn:subsequence((//book/title), 3, 1) 07.05.2012XPath Datenmodell und Sequenzen12

13 Quellen Ausführliches Buch zu XQuery Lehner, W. & Schöning, H.: XQuery - Grundlagen und fortgeschrittene Methoden. dpunkt: Heidelberg 2004. bes. 61-98. Einige Funktionen auf Sequenzen http://w3schools.com/xpath/xpath_functions.asp#sequence Ausführliche Liste der XPath- und XQuery-Funktionen http://www.w3.org/2005/xpath-functions/#fo-summary Danke fürs Zuhören! 07.05.2012XPath Datenmodell und Sequenzen13


Herunterladen ppt "XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –"

Ähnliche Präsentationen


Google-Anzeigen