使用xquery按本地名称对树进行排序 声明函数本地:排序($container){ 元素{$container/name()}{ 对于$container中的$child/* 按$child/local-name()订购 返回本地:排序($child)
使用xquery按本地名称对树进行排序使用xquery按本地名称对树进行排序 声明函数本地:排序($container){ 元素{$container/name()}{ 对于$container中的$child/* 按$child/local-name()订购 返回本地:排序($child) ,xquery,Xquery,使用xquery按本地名称对树进行排序 声明函数本地:排序($container){ 元素{$container/name()}{ 对于$container中的$child/* 按$child/local-name()订购 返回本地:排序($child) } }; 让$doc:= 返回本地:排序($doc) 那么,您希望递归调用的函数在哪里?变量在哪里声明/绑定? I want the below XML <a> <z> <e> <b>
声明函数本地:排序($container){
元素{$container/name()}{
对于$container中的$child/*
按$child/local-name()订购
返回本地:排序($child)
}
};
让$doc:=
返回本地:排序($doc)
那么,您希望递归调用的函数在哪里?变量在哪里声明/绑定?
I want the below XML
<a>
<z>
<e>
<b>
<c>
Sorted as such
<a>
<c>
<z>
<b>
<e>
let $child-elements := $elements/*
return
if ($child-elements) then
myfunctx:sort($child-elements, $current-element)
else
element { xs:Qname ($local-name)} , {$current-element, $result) ???
declare function local:sort($container){
element {$container/name()} {
for $child in $container/*
order by $child/local-name()
return local:sort($child)
}
};
let $doc := <doc>
<a/>
<z>
<e/>
<b/>
</z>
<c/>
</doc>
return local:sort($doc)