I imagine reworking the scopes will be very much non-trivial.
(I am just happy I found that "simple" example - XQST0049 has been troubling me for years)

Thanks, for this and all your great work on BaseX.

 /Andy

On Mon, 25 Apr 2022 at 15:13, Christian Grün <christian.gruen@gmail.com> wrote:
Although this can run into issues like #[1194]. For example trying to do all modules...

(: hack to scrape  module names from github :)
let $mods:=fetch:xml("https://github.com/acdh-oeaw/vleserver_basex/tree/main/vleserver",map{"parser":"html"})
//a[@data-pjax="#repo-content-pjax-container"][ends-with(.,".xqm")]
/concat("https://raw.githubusercontent.com",replace(@href,"/blob/","/"))

(: get namespace prefixes in use :)
return $mods!( try{ inspect:xqdoc(.)/*:namespaces } catch * {$err:description})

The upper code snippet can be evaluated with the latest snapshot, as all URLs will now be normalized similar to local file paths [1,2]. Work on the scope chain gang still in progress ;)