XQueryFLWOR式_
FLWORとは何ですか?
FLWOR(「花」と発音)は、「For、Let、Where、Order by、Return」の頭字語です。
- For-ノードのシーケンスを選択します
- Let-シーケンスを変数にバインドします
- ここで-ノードをフィルタリングします
- 並べ替え-ノードを並べ替えます
- Return-何を返すか(ノードごとに1回評価されます)
XMLサンプルドキュメント
以下の例では、「books.xml」ドキュメントを使用します(前の章と同じXMLファイル)。
FLWORを使用して「books.xml」からノードを選択する方法
次のパス式を見てください。
doc("books.xml")/bookstore/book[price>30]/title
上記の式は、bookstore要素の下にあるbook要素の下にある、値が30より大きいprice要素を持つすべてのtitle要素を選択します。
次のFLWOR式は、上記のパス式とまったく同じものを選択します。
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
結果は次のようになります。
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
FLWORを使用すると、結果を並べ替えることができます。
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
for句は、bookstore要素の下にあるすべてのbook要素を$ xという変数に選択します。
where句は、値が30より大きいprice要素を持つbook要素のみを選択します。
order by句は、並べ替え順序を定義します。タイトル要素で並べ替えられます。
return句は、何を返すかを指定します。ここでは、タイトル要素を返します。
上記のXQuery式の結果は次のようになります。
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>