2013-01-03 22 views
0

可以通过文件和方向的组合进行排序吗?即:可以通过文件和方向的组合进行排序吗?

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" 

回答

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)

+0

道歉和非常感谢! – user1945457

相关问题