XQuery 语法

创建于 2024-12-03 / 33
字体: [默认] [大] [更大]

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


XQuery基本语法规则

一些基本语法规则:

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

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表达式周围的括号是必需的。其他是必需的,但它可以只是其他()。

<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

0 人点赞过