All pastes #187745 Raw Edit

Miscellany

public text v1 · immutable
·published 2006-10-01 12:40 UTC
rendered paste body
module 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 ( )  
};