Christian, thank you for the tips. The advantage of a functional data structure as an implementation for records is that it doesn't have fixed component names, so lower maintenance if one wants to rename a component. An other advantage is that it doesn't need an extra data structure for storing the data, in this case a map-variable. Hence my preference for functional data structures. To bad that I'll have to assign the module's static-base-uri to its function-annotations as a literal. Fortunately I only have to do this ones for each (objectType)module so it is managable. Best, Rob
> Op 29-04-2025 19:11 CEST schreef Christian Grün <christian.gr...@gmail.com>: > > > You may want to have a look at the new 4.0 record [1] and method features [2]. > Best, Christian > > [1] https://docs.basex.org/12/XQuery_4.0#record_declarations > [2] https://docs.basex.org/12/XQuery_4.0#methods > > On Tue, Apr 29, 2025 at 3:59 PM Rob Stapper <r.stap...@lijbrandt.nl > mailto:r.stap...@lijbrandt.nl> wrote: > > > succes, 'load-xquery-module' does the trick, allthough, when referencing to > > itself throught the: 'location-hints' option one gets a tail-recursion > > error. Obvious > > , but it would be more elegant if the function recognized the situation and > > just stops. > > > > I attached a working package using 'load-xquery-module'. > > > > You known what would be realy awsome:-)) If it was possible to give an > > annotation the value of the static-base-uri of its module. I know > > annotations can only be given a static value but how dynamic is the > > static-base-uri actually, the name suggest otherwise. Alternative would be > > if one could trace back the module's uri from the module's target > > namespace. The result of repo:list() could be extended with this, it is > > available somewhere, I can see it i the GUI's package option. > > > > Is there something you can do here? I know you're busy, though. > > > > Best, > > Rob. > > > > > Op 29-04-2025 12:51 CEST schreef Christian Grün > > > <christian.gr...@gmail.com mailto:christian.gr...@gmail.com>: > > > > > > .. > > > > Hereby a compressed package with a simple and as far as I was able > > > > minimized code. > > > > > > Thanks. It seems to be identical to the bug in [1]. > > > > > > > I'll have a look at the func-loadsquerymodule, looks promissing. > > > > > > Looking forward. > > > > > > [1] https://github.com/BaseXdb/basex/issues/1194 > > > > > > > > > On Tue, Apr 29, 2025 at 12:45 PM Rob Stapper <r.stap...@lijbrandt.nl > > > mailto:r.stap...@lijbrandt.nl> wrote: > > > > > > > Hi Christian, > > > > > > > > Hereby a compressed package with a simple and as far as I was able > > > > minimized code. Extract it in basex's repo directory and run: > > > > "add-app.xq". No need for installing the package in the repository. > > > > Hope this is sufficient. > > > > > > > > I'll have a look at the func-loadsquerymodule, looks promissing. > > > > > > > > Best, > > > > Rob > > > > > > > > > > > > > Op 28-04-2025 19:02 CEST schreef Christian Grün > > > > > <christian.gr...@gmail.com mailto:christian.gr...@gmail.com>: > > > > > > > > > > > > > > > Hi Rob, > > > > > > > > > > Feel free to provide us with a minimized code snippet to reproduce > > > > > the problem. You could also try fn:load-xquery-module [1] that has > > > > > recently been added to BaseX (thanks to Gunther Rademacher): > > > > > > > > > > https://qt4cg.org/specifications/xpath-functions-40/Overview.html#func-load-xquery-module > > > > > > > > > > Best, > > > > > Christian > > > > > > > > > > On Sat, Apr 26, 2025 at 1:33 PM Rob Stapper via BaseX-Talk > > > > > <basex-talk@mailman.uni-konstanz.de > > > > > mailto:basex-talk@mailman.uni-konstanz.de> wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > I want to make use the 'inspect:functions'-function but whatever I > > > > > > do I always get this error: > > > > > > ' [inspect:parse] Stopped at > > > > > > C:/Users/Rob/Projecten/SemanticWorldModel/repo/SWM.main/content/IMPLEMENTATION-DOMAIN/reverseArrayIterator.xqm, > > > > > > 4/27: [XQST0049] Duplicate declaration of static variable > > > > > > .........' > > > > > > > > > > > > It looks like the function traverse all through the module > > > > > > structure following the module imports. And when it encouters a > > > > > > cyclic situation, which is not abnormal within a module structure, > > > > > > the function trigers this error. I think it should just stop on > > > > > > that branche because obviously the model has already been > > > > > > processed. > > > > > > > > > > > > Maybe even, the function should not iterate through the module > > > > > > structure at all, just returning the functions of the requested > > > > > > module. > > > > > > > > > > > > Maybe I'm just doing things wrong here. Can you please shed some > > > > > > light on how to prevent this error when using 'inspect:functions'? > > > > > > > > > > > > Some background for this madness: > > > > > > I want to annotate my FunctionDataStructure, dataStructures as > > > > > > functioncallparameterset, with the name of the module that contains > > > > > > the functions for this type/class of data (class and methods in OO). > > > > > > > > > > > > Thanks in advance for your responce. > > > > > > > > > > > > mvgr. > > > > > > > > > > > > Rob Stapper > > > > > > > > > > > > > > > > > > > > > > > mvgr. > > > > > > > > Rob Stapper > > > > > > > > > > > > > mvgr. > > > > Rob Stapper > > > mvgr. Rob Stapper