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