函数与运算符

XQuery 教程 · 第 4 章 · 8 次浏览

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)  (: 去重分类 :)