XQuery 1.0版本中的XQuery 3.0等效分组依据

XQuery 1.0版本中的XQuery 3.0等效分组依据,xquery,Xquery,我有以下代码,并且我没有的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)}"/>

我有以下代码,并且我没有的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)}"/>
用于文档中的$item(“order.xml”)//item
按$d分组:=$item/@dept
按$d订购
返回
输出显示部门、总数量和项目数。 它应该按代码分组,上面的代码不编译


我希望有一种方法可以与xquery 1.0配合使用。通常,xquery 1.0相当于xquery 3.0“分组方式”增强的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)}"/>
let$items:=doc(“order.xml”)//item
let$depts:=不同的值($items/@dept)
$dept中的$dept
let$dept items:=$items[@dept eq$dept]
由$dept订购
返回

Saxon的哪个版本?