rendered paste bodymodule namespace tfi = "http://www.transfrance.info/";
declare default element namespace "http://www.transfrance.info/";
declare namespace set = "java:java.util.TreeSet";
declare namespace string = "java:java.lang.String";
declare variable $tfi:set := set:new();
declare function tfi:fetch-references2($element as element(), $files-to-resolve as xs:string*) {
for $ref in $element//@ref
let $resolved := id($ref),
$filename := util:document-name($resolved)
return
if ( ($files-to-resolve = xmldb:decode-uri($filename)) and not(set:contains($tfi:set, string($ref))) )
then (
let $void := set:add($tfi:set, string($ref))
return
( <a>{ $tfi:set }</a>, $resolved, tfi:fetch-references2($resolved, $files-to-resolve) )
) else ( )
};