最新のWeb開発のチュートリアル
 

XQueryの構文


XQueryは、大文字と小文字が区別され、XQueryの要素である属性、および変数は、有効なXML名でなければなりません。


XQueryの基本的な構文規則

いくつかの基本的な構文規則:

  • XQueryは大文字と小文字が区別されます
  • XQueryの要素、属性、および変数は、有効なXML名でなければなりません
  • XQueryの文字列値は、単一または二重引用符にすることができ
  • XQuery変数は、名前、例えば$書店続い$で定義されています
  • XQueryのコメントが区切られ(: and :) 、例えば(: XQuery Comment :)

XML文書の例

私たちは、使用する"books.xml"以下の例では、文書(same XML file as in the previous chapters)

見る"books.xml"ブラウザでファイルを


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