函数与运算符
XQuery 的条件是 if-then-else 表达式(也是表达式,有返回值),序列用逗号构造,是数据处理的常见形式。
条件
if (条件) then 值1 else 值2,必须有 else(因为要有返回值)。
序列
(1, 2, 3) 序列;(1 to 5) 范围;序列可以嵌套展开。函数有 count()、sum()、min()、max()、avg()、distinct-values()。
代码示例
(: 条件表达式 :)
for $book in doc("books.xml")//book
return if ($book/price >= 40) then
concat($book/title, ":高价书")
else
concat($book/title, ":平价书")
(: 序列操作 :)
(1 to 5) (: 1 2 3 4 5 :)
sum((1, 2, 3, 4, 5)) (: 15 :)
avg((1, 2, 3)) (: 2 :)
count(//book) (: book 数量 :)
distinct-values(//book/@category) (: 去重分类 :)