可以通过字段和方向的组合进行排序吗? IEP>
let $list := (<a id="1">A</a>, <a id="2">A</a>, <a id="3">B</a>)
let $ordered :=
for $item in $list
order by $item/text ascending, $item/@id descending
return fn:data($item/@id)
return
if(fn:deep-equal((2,1,3),$ordered)) then "PASS" else "FAIL"
答案 0 :(得分:1)
您要对$item/text
(这意味着<text/>
内的元素$item
)进行排序,而不是对函数$item/text()
所解决的内容进行排序。
let $list := (<a id="1">A</a>, <a id="2">A</a>, <a id="3">B</a>)
for $item in $list
order by $item/text() ascending, $item/@id descending
return fn:data($item/@id)
将产生所需的输出(2,1,3)
。