XQuery 教程
1. XQuery 教程 2. XQuery 简介 3. XQuery 实例 4. XQuery FLWOR 表达式 5. XQuery FLWOR + HTML 6. XQuery 术语 7. XQuery 语法 8. XQuery 添加元素和属性 9. XQuery 选择和过滤 10. XQuery 函数 11. XQuery 总结 12. XQuery 参考手册

XQuery 语法

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 中,有两种方法来比较值。

  1. 通用比较:=, !=, <, <=, >, >=
  2. 值的比较:eq、ne、lt、le、gt、ge

这两种比较方法的差异如下:

请看下面的 XQuery 表达式:

$bookstore//book/@q > 10

如果 q 属性的值大于 10,上面的表达式的返回值为 true。

如下实例,如果仅返回一个 q,且它的值大于 10,那么表达式返回 true。如果不止一个 q 被返回,则会发生错误:

$bookstore//book/@q gt 10