30.12.2013 Aufrufe

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

150<br />

Einführung in XML<br />

Reihenfolge. Ist auch dieser gleich (wie in unserem bib.xml Beispiel)<br />

soll die relative Reihenfolge der Bücher erhalten bleiben. Das Buch ohne<br />

Autoren kommt wegen empty least an den Anfang.<br />

for $b in fn:doc("bib.xml")//book<br />

let $a1 := $b/author[1]<br />

stable order by $a1/last empty least, $a1/first empty least<br />

return $b/title<br />

Das Ergebnis lautet:<br />

The Economics of Technology and Content for Digital TV,<br />

Data on the Web,<br />

TCP/IP Illustrated,<br />

Advanced Programming in the UNIX Environment<br />

7.2.4 return-Klausel und Element-Konstruktoren<br />

In der return-Klausel wird das Ergebnis konstruiert, in der Regel als Element-Sequenz<br />

in XML-Schreibweise. Das folgende Beispiel ist also eine<br />

gültige XQuery, die ein Dokument mit dem selben Inhalt produziert:<br />

Der erste Versuch schlägt nicht immer fehl<br />

Darüberhinaus können sog. Konstruktoren verwendet werden. Dabei existiert<br />

für jeden der sieben Knotentypen ein Konstruktor, der eine Instanz<br />

von diesem Knotentyp erzeugt. Das obige Element kann man<br />

also auch wie folgt erzeugen:<br />

element versuch {<br />

"Der erste Versuch schlägt nicht immer fehl"<br />

}<br />

Üblicherweise spielen aber nur Elemente und Attribute eine Rolle für die<br />

Ausgabeerzeugung. In geschweiften Klammern können beliebige<br />

XQuery-Anweisungen vorkommen. Ebenfalls dürfen diese beliebig<br />

ineinander geschachtelt werden. Auf diese Weise können Knoten (Elemente,<br />

Attribute etc.) dynamisch erzeugt werden. Das folgende Beispiel

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!