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が返された場合、エラーが発生します。