XQuery FLWOR- Ausdrücke
Was ist FLWOR?
FLWOR (ausgesprochen „Blume“) ist ein Akronym für „For, Let, Where, Order by, Return“.
- For - wählt eine Folge von Knoten aus
- Let - bindet eine Sequenz an eine Variable
- Wo - filtert die Knoten
- Sortieren nach - sortiert die Knoten
- Rückgabe - was zurückgegeben werden soll (wird für jeden Knoten einmal ausgewertet)
Das XML-Beispieldokument
In den folgenden Beispielen verwenden wir das Dokument "books.xml" (dieselbe XML-Datei wie im vorherigen Kapitel).
Zeigen Sie die Datei „books.xml“ in Ihrem Browser an .
So wählen Sie Knoten aus „books.xml“ mit FLWOR aus
Sehen Sie sich den folgenden Pfadausdruck an:
doc("books.xml")/bookstore/book[price>30]/title
Der obige Ausdruck wählt alle title-Elemente unter den book-Elementen aus, die sich unter dem bookstore-Element befinden und ein price-Element mit einem Wert über 30 haben.
Der folgende FLWOR-Ausdruck wählt genau dasselbe aus wie der obige Pfadausdruck:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
Das Ergebnis wird sein:
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
Mit FLWOR können Sie das Ergebnis sortieren:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
Die for -Klausel wählt alle book-Elemente unter dem bookstore-Element in eine Variable namens $x aus.
Die where -Klausel wählt nur Buchelemente mit einem Preiselement mit einem Wert größer als 30 aus.
Die order by -Klausel definiert die Sortierreihenfolge. Wird nach dem Titelelement sortiert.
Die Rückgabeklausel gibt an, was zurückgegeben werden soll. Hier werden die Titelelemente zurückgegeben.
Das Ergebnis des obigen XQuery-Ausdrucks lautet:
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>