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