Einführung in die XML-Technologien XPath, XSLT und XQuery/XQuery
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>XQuery</language>
Autoren
* Fred Teske([mailto:s3frtesk@stud.hs-zigr.de s3frtesk@stud.hs-zigr.de ])
* Philipp Dvorak ([mailto:s3phdvor@stud.hs-zigr.de s3phdvor@stud.hs-zigr.de])
=Einstieg in XQuery=
XQuery ist ein Abfragesprache für XML. Welche vom W3C entwickelt wurde. In diesem Kurs sollen die grundlegenden Spracheigenschaften vorgestellt werden und ein Verständnis der Syntax und Struktur von XQuery – Ausdrücken vermittelt werden.
XQuery ermöglicht:
* das Auswählen von Elementen und Attributen
* das Zusammenführen mehrerer XML-Dokumente
* das Bearbeiten von XML-Daten
* das Hinzufügen von Elementen und Attributen zu der Ergebnismengen
* Berechnungen auf Grundlage von XML-Daten
* Sortierungen der Ergebnismenge
Folgendes XML-Dokument soll als Basis für Beispiele und Erläuterungen dienen.
<popup name = "Beispieldokument">
<code id="4ef327a06604d">
<filmliste>
<film genre="Science-Fiction">
<titel>Die Rueckkehr der Jedi-Ritter</titel>
<hauptrollen>
<schauspieler>Harrison Ford</schauspieler>
<schauspieler>Mark Hamill</schauspieler>
</hauptrollen>
<oscars>1</oscars>
<regie>
<regisseur>Richard</regisseur>
</regie>
<jahr>1983</jahr>
</film>
<film genre="Thriller">
<titel>Sin City</titel>
<hauptrollen>
<schauspieler>Jessica Alba</schauspieler>
<schauspieler>Rosario Dawson</schauspieler>
<schauspieler>Elijah Wood</schauspieler>
<schauspieler>Bruce Willis</schauspieler>
</hauptrollen>
<oscars>0</oscars>
<regie>
<regisseur>Frank Miller</regisseur>
<regisseur>Robert Rodriguez</regisseur>
<regisseur>Quentin Tarantino</regisseur>
</regie>
<jahr>2005</jahr>
</film>
<film genre="Drama">
<titel>Forrest Gump</titel>
<hauptrollen>
<schauspieler>Tom Hanks</schauspieler>
</hauptrollen>
<oscars>6</oscars>
<regie>
<regisseur>Robert Zemeckis</regisseur>
</regie>
<jahr>1994</jahr>
</film>
<film genre="Action">
<titel>The Dark Knight</titel>
<hauptrollen>
<schauspieler>Christian Bale</schauspieler>
<schauspieler>Heath Ledger</schauspieler>
<schauspieler>Aaron Eckhart</schauspieler>
</hauptrollen>
<oscars>2</oscars>
<regie>
<regisseur>Christopher Nolan</regisseur>
</regie>
<jahr>2008</jahr>
</film>
<film genre="Science-Fiction">
<titel>Avatar</titel>
<hauptrollen>
<schauspieler>Sam Worthington</schauspieler>
<schauspieler>Zoe Saldana</schauspieler>
</hauptrollen>
<oscars>3</oscars>
<regie>
<regisseur>James Cameron</regisseur>
</regie>
<jahr>2009</jahr>
</film>
</filmliste>
</code>
</popup>
==FLWOR - Ausdrücke==
FLWOR - Ausdrücke bilden die Grundlage für Anfragen an XML - Dokumente. Sie weisen Ähnlichkeiten mit Abfragen im SQL - Syntax auf. FLWOR ist ein Kunstwort (aus dem englischen "Flower"). Die einzelnen Buchstaben entsprechen dabei den Anfangsbuchstaben der Klauseln des Ausdrucks: for, let, where, order und return.
Ein einfacher FLWOR - Ausdruck ist zum Beispiel folgendes:
<code id="4ef32b39c11d0">for $v in //filmliste/film
return $v
</code>
Dieser Ausdruck würde alle Filmelmente aus dem Beispiel XML-Dokument "filmliste" zurückgeben.
Mit einer zusätzlichen where Klausel kann die Ergebnismenge weiter eingegrenzt werden.
<run>
for $v in //filmliste/film
where $v/jahr = 2009
return $v
</run>