XQuery 语法
XQuery 区分大小写,XQuery 元素、属性和变量必须是有效的 XML 名称。
XQuery 基本语法规则
一些基本语法规则
- XQuery 区分大小写
- XQuery 元素、属性和变量必须是有效的 XML 名称
- XQuery 字符串值可以是用单引号或双引号括起来
- XQuery 变量用 $ 符号加上一个名称来定义,例如 $bookstore
- XQuery 注释用 (: 和 :) 分隔,例如 (: XQuery 注释 :)
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