XQuery 语法
XQuery 区分大小写,XQuery 元素、属性和变量必须是有效的 XML 名称。
XQuery 基本语法规则
一些基本语法规则
- XQuery 区分大小写
- XQuery 元素、属性和变量必须是有效的 XML 名称
- XQuery 字符串值可以用单引号或双引号括起来
- XQuery 变量用 $ 后面跟名称定义,例如 $bookstore
- XQuery 注释用 (: 和 :) 括起来,例如 (: XQuery 注释 :)
XML 示例文档
我们将在下面的示例中使用 "books.xml" 文档(与前面的章节中使用的 XML 文件相同)。
XQuery 条件表达式
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 表达式必须用括号括起来。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