Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. cts:uris()[matches(., '^[^/]*/$')]
  2.  
  3. declare variable $start external := 1 ;
  4. declare variable $end external := 1000;
  5. declare variable $urimatch external := "" ;
  6. fn:distinct-values(
  7. for $d in cts:uris("","any" )
  8. where ($urimatch eq "" or contains( $d , $urimatch ) )
  9.  
  10. return
  11. if( matches( $d , "^[a-zA-Z]+://" ) ) then
  12. replace( $d , "(^[a-zA-Z]+://[a-zA-Z0-9_.-]+/).*","$1" )
  13. else
  14. if( contains( $d , "/" ) ) then
  15. substring-before( $d , "/" ) || "/"
  16. else
  17. $d
  18.  
  19. )[ $start to $end ]
  20.  
  21. let $dir := (
  22. let $current := map:map()
  23. let $_ := map:put($current, "element", "")
  24. for $uri in cts:uris()
  25. let $toks := fn:tokenize($uri, "/")
  26. let $element := if (map:get($current, "element") ne $toks[2]) then element directory { $toks[2] } else ()
  27. let $_ := map:put($current, "element", $toks[2])
  28. return if ($element/text() ne "") then $element else ()
  29. )
  30.  
  31. let $doc := document { element root { $dir } }
  32. return $doc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement