XQuery Tutorial. Student: Anke Bremer Betreuer: Dr. Sosna

Ähnliche Dokumente
Anfragen an XML-Dokumente mit XPath

XPath & XQuery Standardisierte Abfragesprachen für XML-Dokumente. Sebastian Apel

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

XQuery. XML Query Language. eine Abfragesprache für XML. Ulrike Henny. IDE Autumn School 2012, Chemnitz

Anfragen & Transformation

XML-Namensräume. Marc Monecke

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

INVENTARNR NAME BENUTZNR

XML-Datenbanken. Autor: Nan Zhang Veranstaltung: XML in Bioinformatik

1 Was ist XML? Hallo XML! Kommentare in XML 52

XML-Namensräume (NSP)

Dokumentverarbeitung

1. Übung zur Vorlesung Service-orientierte Architekturen

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML

Projektseminar Texttechnologische Informationsmodellierung

Es geht also im die SQL Data Manipulation Language.

XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone

Implementierung der XPath-Anfragesprache für XML-Daten in RDBMS unter Ausnutzung des Nummerierungsschemas DLN

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

XPATH (XPATH) Lernziele

XML-QL. Querysprachen für XML. Semistrukturierte Datenmodell und XML Datenmodell. Beispiel

Prof. Dr. Martin Leischner Fachbereich Informatik XML. Prof. Dr. Martin Leischner Fachbereich Informatik. Anwendungen (SOAP,WSDL, ) Verknüpfungen XSL

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

... MathML XHTML RDF

Allgemeines. veröffentlicht unter lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005

Universität zu Köln Informationsverarbeitung WS 2009/10. Datenbanken vs. Markup Prof. Dr. M.Thaller XML als Datenbank

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Klaus Schild, XML Clearinghouse Namensräume

XML DTD und Schema von Thomas Mangold

Inhaltsverzeichnis Seite 1. Inhaltsverzeichnis. Ein I.T.P.-Fachbuch

- Wiederholung/Übung -

Gliederung. Service Oriented Architecture - XML Technologies. 1 von 11

3.5 Knoten. denselben Wert wie

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

8.3 Das Verarbeitungskonzept von XQuery

Gegeben ist das folgende XML-Dokument.

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

3.1 Sinn und Zweck von Namensräumen

XPath 1.0 Pfadausdrücke zur Adressierung von XML-Fragmenten

Eine Schnelleinführung in XSL

Seminar: XML und intelligente Systeme

Michael Seemann. Native XML-Datenbanken im Praxiseinsatz

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

6. XML-Datenbanken: Anfragesprachen

XML Schema vs. Relax NG

<Trainingsinhalt> XML umsetzen und nutzen

XQuery 2013 S Seite 1 h_da S

Datenbankadministration

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

XML Path Language (XPath)

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Datenbanksysteme 2 Frühjahr-/Sommersemester April Darf man in der XML Declaration die Versionsnummer weglassen? (d.h.

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

XML-Namensräume. Udo Kelter

Literatur. Verteilte Anwendungen WS Teil 2/Namensräume

7. XML-Datenbanksysteme und SQL/XML

XML-Technologien

Institut für Dokumentologie und Editorik. XML-Datenbanken und XQuery

Kapitel 6: SQL und XML

XML Grundlagen Teil I

GROUP BY, HAVING und Sichten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

Semistrukturierte Daten

Index. Index CDATA 113, 183. Achse 430. child 425. all 191. choice 187, 191, 197, 393. ancestor 428. choose 272. Anwendung 351; Beispiel 302

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

XML Vorlesung ETHZ SS XQuery XML Vorlesung ETHZ SS XML Vorlesung ETHZ SS

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Webseite in XML Kurzeinführung

Programmierkurs Java

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Grundlagen der Extensible Stylesheet Language

Programmieren Tutorium

Ressourcen-Beschreibung im Semantic Web

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS noch einmal. XQuery... Andreas Schmidt Oracle XQuery 1/12

Verarbeitung von XML-Strömen

Inhalt. Beispiel: XML Dokument. Beispiel: Dokumentenbaum. XPath VU Semistrukturierte Daten 1. Datenmodell

XML Informationsmodelle

DOM und XPath 05. G. Görz, J. Schneeberger Department Informatik KI.

XSLT Beispiele. Cooktop -

Semistrukturierte Daten

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Johann Wolfgang Goethe - Universität Frankfurt am Main. Fachbereich Informatik. Seminarausarbeitung SS 2002 RDF MT

Datenbanksysteme 2015 Kapitel 10

10. XML und XQuery. Prof. Dr.-Ing. Wolfgang Lehner

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

Präsentation zum Thema XML Datenaustausch und Integration

Standards II : XQuery

Multimedia im Netz Wintersemester 2011/12

Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Einführung. Hallo-Welt in XSLT

eden market Autor: Norman Lahme

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

VU Semistrukturierte Daten 2. XQuery (Teil 2) Inhalt

Transkript:

XQuery Tutorial Student: Anke Bremer Betreuer: Dr. Sosna

Inhalt 1 Gliederung Tutorial 2 Beispiele für Seitengestaltung - XML Namespaces - Pfadausdrücke 3 Ideen / Fragen / Vorschläge

Inhalt Tutorial 1. Über das Tutorial 2. Einleitung 3. XQuery 4. Anhang

Gliederung Tutorial 1. Über das Tutorial 2. Einleitung 2.1. Allgemeines zu XQuery 2.2. XML 2.2.1. Definition, W3C 2.2.2. Aufbau von XML-Dokumenten (Baumstruktur, Elemente, Attribute, Kommentare, Markup) 2.2.3. Namensräume in XML 2.2.4. Validierung 2.2.5. DTD 2.2.6. XML Schema 2.2.7. Übungen

Gliederung Tutorial 2.3. XPath 2.3.1. Definition, W3C 2.3.2. Terminologie 2.3.3. Verwandschaftsbeziehungen von Knoten 2.3.4. Axen 2.3.5. Adressierung 2.3.6. Vorteile - Nachteile / Vergleich mit XQuery 2.3.7. Übungen

Gliederung Tutorial 3. XQuery 3.1. Allgemein / Grundlagen 3.2. Terminologie (atomare Werte, items, Konstruktoren,...) 3.3. Datentypen 3.4. Achsen in XQuery / Verwandschaftsbeziehungen 3.5. Anfragen / Ausdrücke in XQuery 3.5.1. Allgemein (Struktur, Lokalisierungsschritte,...) 3.5.2. Einfache Ausdrücke (Übungen) 3.5.3. Pfadausdrücke (Übungen) 3.5.4. Elementkonstruktoren (Übungen) 3.5.5. Sequenzausdrücke (Übungen)

Gliederung Tutorial 3.5.6. FLWR Ausdrücke 3.5.6.1. Allgemein 3.5.7.2. Klauseln (Übungen) 3.5.9.2.1. For-Klausel 3.5.9.2.2. Let-Klausel 3.5.9.2.3. Where-Klausel 3.5.9.2.4. Order-by-Klausel 3.5.9.2.5. Return-Klausel 3.5.9.3. Verbundberechnung 3.5.9.3.1. Symmetrischer. Verbund (Ü) 3.5.9.3.2. Einseitger äußerer Verbund (Ü) 3.5.9.3.3. Vollständig äußerer Verbund (Ü) 3.5.9.4. Gruppierung und Aggregation

Gliederung Tutorial 3.5.7. Erweiterte Ausdrücke 3.5.7.1. Arithmetische Ausdrücke 3.5.7.2. Vergleichsausdrücke (Allg. V., Wertevergleich, Knotenvergleiche) 3.5.7.3. Logische Ausdrücke (and - or) 3.5.7.4. Quantifizierte Ausdrücke 3.5.7.5. Konditionale Ausdrücke 3.5.7.6. Übungen 3.6. XQuery Funktionen 3.6.1. Eingebaute Funktionen (Übungen) 3.6.2. Funktionsaufrufe (Übungen) 3.6.3. Wie schreibe ich meine eigene XQuery Funktion (Ü) 3.7. Erweiterte Konzepte 4. Anhang

Beispiel 1 XML Namensräume

XML - Namensräume XML Namensräume: Dienen dazu Namenskonflikte und Mehrdeutigkeiten in XML-Dokumenten zu vermeiden. Potenziell mehrdeutige Namen werden dabei an einen URI (Uniform Resource Identifier) gebunden. Namensräume müssen im XML-Dokument deklariert werden, bevor sie verwendet werden. Der URI eines Namensraums wird einem sogenannten Namensraumpräfix zugewiesen Ein Element oder Attribut dieses Namensraumes wird dann über das Präfix angesprochen. Beispiel 1: <mitarbeiter typ="professor" abteilung="db"> <name></name> <adresse></adresse> <telefon></telefon> <gehalt></gehalt> <rechner> <name>professors Rechner</name> <adresse>127.98.76.35</adresse> </rechner> </mitarbeiter> Das XML - Dokument enthält hier neben den Namen und Adressen der Mitarbeiter der Universität auch die Daten (Name, Adresse) des Rechners, an dem der Mitarbeiter arbeitet Wenn alle Namen derer, die in der Uni arbeiten ausgegeben werden sollen, werden allerdings auch alle Namen der Rechner ausgegeben, da nach dem Element <name> gesucht wird.

XML - Namensräume Um diese Namenskonflikte zu vermeiden, werden zwei Namensräume deklariert. (siehe Beispiel 2) Beispiel 2: <ma:mitarbeiterverzeichnis universität="universität Leipzig" xmlns:ma="http://www.irgendeineadresse.de/irgendwas" xmlns:edv= http://www.irgendeineandereadresse.de/irgendwasanderes >... <ma:mitarbeiter typ="professor" abteilung="db"> <ma:name></ma:name> <ma:adresse> <ma:strasse></ma:strasse> <ma:ort></ma:ort> </ma:adresse> <ma:telefon></ma:telefon> <ma:gehalt></ma:gehalt> <edv:rechner> <edv:name>professors Rechner</edv:name> <edv:adresse>127.98.76.35</edv:adresse> </edv:rechner> </ma:mitarbeiter>... </ma:mitarbeiterverzeichnis>

XML - Namensräume Der erste Namensraum weist alle Elemente, die ihm zugewiesen werden, als Mitarbeiterdaten aus. In dieser Zeile wird der Namensraum für die Mitarbeiterdaten deklariert: xmlns:ma="http://www.irgendeineadresse.de/irgendwas" Dem Präfix ma wird der URI "http://www.irgendeineadresse.de/irgendwas" zugewiesen. Der zweite Namensraum weist alle Elemente, die ihm zugewiesen werden, als Rechnerdaten aus. In dieser Zeile wird der Namensraum für die Rechnerdaten deklariert: xmlns:edv= http://www.irgendeineandereadresse.de/irgendwasanderes Dem Präfix edv wird der URI http://www.irgendeineandereadresse.de/irgendwasanderes zugewiesen.

XML - Namensräume Über dieses Präfix kann nun bestimmt werden, welcher Name und welche Adresse Mitarbeiterdaten sind. Durch die Zuweisung der Namensraumpräfixe zu den einzelnen Elementen im XML - Dokument könne diese nun unterschieden werden <ma:mitarbeiterverzeichnis universität="universität Leipzig" xmlns:ma="http://www.irgendeineadresse.de/irgendwas" xmlns:edv= http://www.irgendeineandereadresse.de/irgendwasanderes >... <ma:mitarbeiter typ="professor" abteilung="db"> <ma:name></ma:name> <ma:adresse> <ma:strasse></ma:strasse> <ma:ort></ma:ort> </ma:adresse> <ma:telefon></ma:telefon> <ma:gehalt></ma:gehalt> <edv:rechner> <edv:name>professors Rechner</edv:name> <edv:adresse>127.98.76.35</edv:adresse> </edv:rechner> </ma:mitarbeiter>... </ma:mitarbeiterverzeichnis>

Beispiel 2 Pfadausdrücke

XQuery - Pfadausdrücke Über XQuery-Pfadausdrücke werden in einem Dokument enthaltene Knoten gesucht (z.b.. Element-, Attribut- und Textknoten) Beim Angeben eines Pfads können Sie entweder die vollständige oder die abgekürzte Syntax verwenden Ein Pfadausdruck besteht aus ein oder mehreren Schritten. Ein Lokalisierungsschritt (Achsenschritt) eines Pfadausdrucks besteht aus: 1) Achse 2) Knotentest 3) Prädikaten (optional) Syntax (vollständig): Achse::Knotentest[Prädikat] Das Ergebnis eines Pfadausdrucks erscheint immer in der Dokumentreihenfolge ohne Duplikatknoten in der Ergebnissequenz.

XQuery - Pfadausdrücke POPUPS Achse: - definiert die Bewegungsrichtung - ein Achsenschritt in einem Pfadausdruck beginnt mit einem Kontextknoten und navigiert (durch die in der Achse angegebenen Richtung) zu den erreichbaren Knoten Bsp: xxx Knotentest: - ist eine Bedingung und die zweite Komponente eines Achsenschrittes in einem Pfadausdruck - aus der durch die Achse vorgegebenen Richtung wird eine Menge von Knoten definiert - aus dieser Menge werden nur die Knoten selektiert, die diese Bedingung erfüllen (der Knotentest liefert wahr zurück) Bsp: xxx

XQuery - Pfadausdrücke Ein Pfadausdruck kann absolut oder relativ sein. Ein Pfadausdruck heißt dann absolut, wenn ihm ein '/' vorangestellt ist, ansonsten relativ. Syntax Absoluter Pfadausdruck:?? doc(europe.xml) /aaa / bbb gibt alle bbb der aaa aus Syntax Relativer Pfadausdruck:?? doc(europe.xml) xxx / yyy gibt alle yyy der xxx aus

XQuery - Pfadausdrücke Beispiel 1: absoluter Pfadausdruck doc(europe.xml) /child::country/child::geography Dieser Pfadausdruck enthält zwei durch einen Schrägstrich getrennte Lokalisierungsschritte. Erster Schritt: - die, dem Basisverzeichnis untergeordneten, <country> - Knoten werden abgerufen Zweiter Schritt: - der <country> - Knoten wird zum Kontextknoten - die <Geography> - Knoten jedes gefundenen <country> - Knoten werden abgerufen

Ideen / Fragen / Vorschläge Vorschläge für Funktionen? Funktionen: fn:abs($arg) fn:ceiling($arg) fn:floor($arg) fn:round($arg) fn:compare($arg, $arg, (collation)?) fn:concat($arg, $arg,...) fn:substring($arg, start (,length)?) fn:string-length($arg) fn:contains($arg1, $arg2) fn:starts-with($arg1, $arg2) fn:matches($arg, $regexpr) fn:replace($arg, $regexpr, $replacement) fn:empty($seq) fn:exists($seq) fn:distinct-values($arg) fn:day-from-date

Ideen / Fragen / Vorschläge 1 Übungsblätter (aktuelle und von den Vorjahren) zu XPath und XQuery 2 LOTS Übungsblätter verlinken 3 Textform oder eher Stichpunkte?

Vielen Dank für Ihre Aufmerksamkeit