一覧 最終更新 HOME ログイン

freedomcat.com

xml/xquery

FLOWER

書式 省略 コメント
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)

tips

複数ドキュメント読み込み

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()


参考