目录

XQuery 语法


XQuery 区分大小写,并且 XQuery 元素、属性和变量必须是有效的 XML 名称。


XQuery 基本语法规则

一些基本语法规则:

  • XQuery 区分大小写
  • XQuery 元素、属性和变量必须是有效的 XML 名称
  • XQuery 字符串值可以用单引号或双引号括起来
  • XQuery 变量是用 $ 后跟名称来定义的,例如 $bookstore
  • XQuery 注释由 (: 和 :) 分隔,例如 (: XQuery Comment :)

XML 示例文档

我们将在下面的示例中使用"books.xml" 文档(与前面的章节中相同的 XML 文件)。

在浏览器中查看 "books.xml" 文件.


XQuery 条件表达式

XQuery 中允许使用 "If-Then-Else" 表达式。

看下面的例子:

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>XQuery Kick Start</adult>
<adult>Learning XML</adult>

XQuery 比较

在 XQuery 中,有两种比较值的方法。

1. 一般比较:=、!=、<、<=、>、>=

2. 值比较:eq、ne、lt、le、gt、ge

两种比较方法的区别如下所示。

如果任何 q 属性的值大于 10,则以下表达式返回 true:

$bookstore//book/@q > 10

如果表达式仅返回一个 q 属性,并且其值大于 10,则以下表达式返回 true。如果返回多个 q,则会发生错误:

$bookstore//book/@q gt 10