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種類あります。

  1. 一般的な比較:=, !=, <, <=, >, >=
  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が返された場合、エラーが発生します。