path counting

can xml tamino native server, optimize executing this xquery on a large file. i need to generate statistics on path counts in my xml. if tamino can optimize, how?

declare
function local:pathOfNode($node) {

string-join($node/ancestor-or-self::/local-name(),
‘/’) };
let $j:= .
let $paths := for $n in $j/
//* return
local:pathOfNode($n)

for $p in distinct-values($paths)
let $papa:= replace($p,’/[^/]$’,’’)
let $leafs :=$j//text()[normalize-space()]
[string-join(…/ancestor::
/local-name(), ‘/’) eq
$p ]
return

{string($p)}
{let $c := count($paths[.=$papa])
return
string( round( count($paths[.=$p]) div
(if
($c=0) then 1 else $c)

  • 100 ) )}
    {for $val in distinct-values($leafs) return
    }

Hi Dermond,

Tamino’s XQuery processor is focussed on efficient retrieval of documents out of big documentation collections. This means there is not much optimization done for your query. Certainly there is some rewriting done. But I guess that the optimization effect is quite low.

If you have severe performance problems I suggest to contact your local Tamino support.

Best Regards,

Thorsten