有没有办法在xquery
中保留排序顺序?我的问题是数据必须在返回时传递给 MVC框架的 get-response()
函数,所以我认为它会自动恢复为文档顺序。我认为在subsequence()
函数的第一个参数中进行排序会在排序后捕获第一个'n'项,但事实并非如此。我还尝试在调用subsequence()
之前对 $ search-results 参数进行排序,但这也不起作用。请参阅以下代码:
let $data :=
<figures count="{$count}"
mediatypes="{$mtypes}"
start="{$start}"
end="{$start+$myns:image-paging-default}"
page="{$page}"
increment="{$myns:image-paging-default}"
total-pages="{
if ($count lt $myns:image-paging-default) then
1
else
ceiling(($count + 1) div $myns:image-paging-default)
}"
{
subsequence(
( for $item in ($search-results)
order by $item//figure/@ftype descending
return $item),
$start,
$myns:image-paging-default)
}
</figures>
let $sidebar := xdmp:get-server-field('imagefacets')
return utils:get-response($req, ($data,$sidebar) )