Hi,
I get a "duplicate declaration" error-message when I using the inspect:functions-function.
Consider program: testRun1-2a.xq. The program imports module: module1.xqm and module2a.xqm.
Module: module1.xqm, declares a variable: $mod1:x, and a function: mod1:show( $x).
Module: module2a.xqm, declare a function: mod2a:run, which calls a function by a given function-name: $name in a dynamically imported module by a given module-uri: $uri.
Program: testRun1-2a.xq, calls the run-function in module2a and tells it to use variable: $mod1:x, on function: mod1:show in module: module1.xqm.
This triggers an error: Duplicate declaration on static variable $mod1:x.
On the other hand, program: testRun1-2b.xq, does exactly the same except that module:module2b.xqm, is statically linked to module: module1.xqm, instead of dynamically as happens in module:module2a.xqm.
Shouldn't the dynamically import of modules behave in the same manner as its static counterpart?
Is it possible to achieve this?
Cheers,
Rob
PS the examples are a bit awkward but in my real-life program this construction makes sense (to my anyway).
--- Dit e-mailbericht is gecontroleerd op virussen met Avast antivirussoftware. https://www.avast.com/antivirus
Hi Rob,
I have added a new GitHub issue for your test case [1]. You may already have noticed in the past that there is no well-defined semantics of the inspect functions. Things may get easier once we've implemented the new load-xquery-module function [2].
Best, Christian
PS: Btw, please always try to send us examples that work out of the box ;)
[1] https://github.com/BaseXdb/basex/issues/1194 [2] http://www.w3.org/TR/xpath-functions-31/#func-load-xquery-module
On Tue, Sep 8, 2015 at 4:16 PM, Rob Stapper r.stapper@lijbrandt.nl wrote:
Hi,
I get a “duplicate declaration” error-message when I using the inspect:functions-function.
Consider program: testRun1-2a.xq. The program imports module: module1.xqm and module2a.xqm.
Module: module1.xqm, declares a variable: $mod1:x, and a function: mod1:show( $x).
Module: module2a.xqm, declare a function: mod2a:run, which calls a function by a given function-name: $name in a dynamically imported module by a given module-uri: $uri.
Program: testRun1-2a.xq, calls the run-function in module2a and tells it to use variable: $mod1:x, on function: mod1:show in module: module1.xqm.
This triggers an error: Duplicate declaration on static variable $mod1:x.
On the other hand, program: testRun1-2b.xq, does exactly the same except that module:module2b.xqm, is statically linked to module: module1.xqm, instead of dynamically as happens in module:module2a.xqm.
Shouldn’t the dynamically import of modules behave in the same manner as its static counterpart?
Is it possible to achieve this?
Cheers,
Rob
PS the examples are a bit awkward but in my real-life program this construction makes sense (to my anyway).
Dit e-mailbericht is gecontroleerd op virussen met Avast antivirussoftware. www.avast.com
basex-talk@mailman.uni-konstanz.de