XQueryは、大文字と小文字が区別され、XQueryの要素である属性、および変数は、有効なXML名でなければなりません。
XQueryの基本的な構文規則
いくつかの基本的な構文規則:
- XQueryは大文字と小文字が区別されます
- XQueryの要素、属性、および変数は、有効なXML名でなければなりません
- XQueryの文字列値は、単一または二重引用符にすることができ
- XQuery変数は、名前、例えば$書店続い$で定義されています
- XQueryのコメントが区切られ(: and :) 、例えば(: XQuery Comment :)
XML文書の例
私たちは、使用する"books.xml"以下の例では、文書(same XML file as in the previous chapters) 。
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>
Notes on the "if-then-else" syntax: if式を囲む括弧が必要とされています。 他に必要ですが、それだけで他のことができます()
上記実施例の結果は次のようになります。
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>
XQuery比較
XQueryでは値を比較する2つの方法があります。
1.一般的な比較:!=、=、<、<=、>、> =
2.値の比較:EQ、NE、LT、LE、GT、GE
2つの比較方法の違いを以下に示します。
任意のq個の属性が10より大きい値を持っている場合は、次の式はtrueを返します:
$bookstore//book/@q > 10
複数のqが返された場合のみ、1つのQ式によって返される属性、およびその値が10より大きいがあるされている場合、次の式がtrueを返す、エラーが発生します。
$bookstore//book/@q gt 10