XQuery FLWOR 表現

XMLインスタンスドキュメント

以下の例では、この「books.xml」ドキュメントを使用し続けます(前節のXMLファイルと同じです)。

ブラウザで「books.xml」ファイルを確認してください。

「books.xml」からFLWORを使用してノードを選択する場合

以下のパス表現をご覧ください:

doc("books.xml")/bookstore/book[price>30]/title

上記の表現は、bookstore要素のbook要素のすべてのtitle要素を選択し、その中のprice要素の値が30以上である必要があります。

以下の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

FLWORは「For, Let, Where, Order by, Return」の最初の文字を取った略称です。

for この文は、bookstore要素のすべてのbook要素を変数$xに抽出します。

where この文は、price要素の値が30以上のbook要素を選択します。

order by この文は、ソートの順序を定義しています。title要素に基づいてソートされます。

return 返却される内容を指定する文です。この場合、title 要素が返却されます。

上記の XQuery 表現の結果:

<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>