我有以下代码,并且我的 saxon jar 文件无法读取 xquery 3.0。
for $item in doc("order.xml")//item
group by $d := $item/@dept
order by $d
return
<department totalQuantity="{sum($item/@quantity)}"
code="{$d}"
numItems="{count($item)}"/>
输出显示部门、总数量和项目数。
它应该按代码分组,上面的代码无法编译。
我希望有一种方法可以与 xquery 1.0 一起使用
通常,XQuery 1.0 等价于 XQuery 3.0“group by”增强型 FLWOR 表达式依赖于fn:distinct-values()
函数可以找到将项目分组在一起的不同键。找到键后,您可以使用 XQuery 1.0 FLWOR 表达式简单地迭代键并选择具有匹配键的项目。以下是与您的查询等效的 XQuery 1.0:
let $items := doc("order.xml")//item
let $depts := distinct-values($items/@dept)
for $dept in $depts
let $dept-items := $items[@dept eq $dept]
order by $dept
return
<department totalQuantity="{sum($dept-items/@quantity)}"
code="{$dept}"
numItems="{count($dept-items)}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)