XQuery文法
XQueryは大文字小文字を区別し、XQueryの要素、属性および変数は合法なXML名でなければなりません。
XQueryの基本的な文法規則:
基本的な文法規則:
- XQueryは大文字小文字を区別します。
- XQueryの要素、属性および変数は合法なXML名でなければなりません。
- XQueryの文字列値はシングルクォートまたはダブルクォートを使用できます。
- XQueryの変数は「$」と名前で定義されます。例えば、$bookstore
- XQueryのコメントは(:と:)で区切られます。例えば、(: XQuery コメント :)
XQueryの条件表現
"If-Then-Else"はXQueryで使用できます。
以下の例をご覧ください:
for $x in doc("books.xml")/bookstore/book return if ($x/@category="CHILDREN") then <child>{data($x/title)}</child> else <adult>{data($x/title)}</adult>
「If-Then-Else」の文法に注意してください:if表現の後の括弧は必須です。elseも必須ですが、「else ()」でも可です。
上記の例の結果:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Learning XML</adult> <adult>XQuery Kick Start</adult>
XQueryの比較
XQueryでは、値を比較する方法が2種類あります。
- 一般的な比較:=, !=, <, <=, >, >=
- 値の比較:eq、ne、lt、le、gt、ge
これらの比較方法の違いは以下の通りです:
以下のXQuery式を見てください:
$bookstore//book/@q > 10
q属性の値が10以上の場合、上記の式の返値はtrueです。
$bookstore//book/@q gt 10
qが1つだけ返され、その値が10以上の場合、式はtrueを返します。複数のqが返された場合、エラーが発生します。