書式 | 省略 | コメント | |
---|---|---|---|
for | for <変数> in <式> | letがある場合可 | for句は、<式>が返すシーケンスのすべての項目を処理する反復処理 |
let | let <変数> := <式> | forがある場合可 | 変数を宣言して<式>の評価結果をバインド |
order by | order by <式> (descending) | 可 | <式>で指定された値により検索結果をソート.descending(降順)、ascending(昇順) |
where | where <式> | 可 | <式>は論理値か、論理値として解釈される値を返す式 |
return | return <式>/return <コンストラクタ> | 不可 | FLWOR式全体の返却値として1つのシーケンスに処理順にまとめられる |
example
for $変数 in 式 let $変数 := 式 order by 式 where 式 return 式
<example> { . . . } </example>
先頭に$を付けた任意の名前
演算式 | 意味 |
---|---|
union | どちらかに含まれる |
intersect | 両方にあらわれる |
except | 最初にのみあらわれる |
example
$x = (A,B) , $y =(B,C) $x union $y = (A,B,C) $x intersect $y = (B) $x except $y = (A)
let $items := ( doc("file1.xml") doc("file2.xml") doc("file3.xml") ) for $x in items ...
example xml
<books> <book id="00">ほげほげ</book> <book id="01">ふがふが</book> </books>
example xquery
for $book in /books/book return data($book/@id)
or
for $book in /books/book return $book/@id/string()