Christian, Hello. I just tested the new snapshot. There might still be a small issue there (maybe there's nothing you can do and we have to careful), since I can now execute %private functions : I have a module where there is a %private function. module namespace common = 'http://www.example.com/common'; declare %private function common:test(){"test"}; Then I switch to a my main project and tries for $fun in inspect:functions() where fn:data(inspect:function($fun)/@name) = "common:test" return $fun() and it returns "test" Cheers, Jean-Marc 2013/12/5 Christian Grün <christian.gruen@gmail.com>
Hi Jean-Marc,
thanks for the report. Leo has just fixed the issue. Feel free to check out the new snapshot [1].
Christian
[1] http://files.basex.org/releases/latest/ ___________________________
On Mon, Dec 2, 2013 at 1:18 PM, jean-marc Mercier <jeanmarc.mercier@gmail.com> wrote:
Hi christian, yes this is the point :
Stopped at C:/Jiheme/informatique/workspace/Graph DataBase/module/common.xq, 31/89: [XPST0017] Function 'local:test' is not visible from this module.
If this is desired, it means that we can not use the inspection module as soon as there is %private annotation in any imported module.
Maybe an alternative behavior for the inspection module could be to ignore %private functions ?
2013/12/2 Christian Grün <christian.gruen@gmail.com>
However, If the function test is located in another module, say test, then the following code
import module namespace test="http://www.example.com/test" at
test.xq";
for $fun in inspect:functions() return "gotcha"
raise an exception.
If you mean the exception "Function 'test:test' is not visible from this module.", that’s how it should be. If you mean another exception, could you please provide us with an SSCCE?
Christian