Hm, difficult. If you want, you can provide us with a minimized WAR
file of your webapp, and we could do some more testing. Unfortunately,
Tomcat regularly caused problems in the past; this is why we are
usually working with Jetty or Glassfish in our projects.



On Thu, Oct 15, 2015 at 4:13 PM, Paul Swennenhuis <p...@swennenhuis.nl> wrote:
> Hi Christian,
>
> Thanks for the swift response.
> I tried to place it in the directory of the importing module as well but
> that did not work either.
>
>
> When I run this query:
>
> <dirs>
>   <currentDir>
>   {file:current-dir()}
>   </currentDir>
>    <baseDir>
>   {file:base-dir()}
>   </baseDir>
>   <baseUri>
>   {static-base-uri()}
>   </baseUri>
>   <parent>
>   {file:parent(static-base-uri())}
>   </parent>
>   <abs>
>   {file:path-to-native("/")}
>   </abs>
>   <files>
>   {file:children(".")}
>   </files>
> </dirs>
>
>
> the output is:
>
> <dirs>
>   <currentDir>/</currentDir>
>   <baseDir>/opt/tomcat/webapps/BaseX83/xq/</baseDir>
> <baseUri>file:/opt/tomcat/webapps/BaseX83/xq/currentDir.xq</baseUri>
>   <parent>/opt/tomcat/webapps/BaseX83/xq/</parent>
>   <abs>/</abs>
>   <files>./lost+found/ ./media/ ./opt/ ./run/ ./library.xq ./home/ ./var/
> ./dev/ ./boot/ ./sbin/ ./proc/ ./sys/ ./bin/ ./lib/ ./root/ ./vmlinuz ./mnt/
> ./usr/ ./lib64/ ./initrd.img ./tmp/ ./srv/ ./etc/</files>
> </dirs>
>
>
> As you can see, the children() of the current directory (.) are server root
> entries.
>
> Paul
>
>
>> Hi Paul,
>>
>>> When I import a module in a .xq file, like this:
>>>      import module namespace lib="My Library" at "library.xq";
>>> BaseX gives me a "[XQST0059] Could not retrieve module '/library.xq' "
>>> error.
>>
>> By default, modules should be found if they are located in the
>> directory of the importing module.
>>
>> The URI of your module can be requested via the function
>> static-base-uri(). What does it return in your environment?
>>
>> Christian
>>
>>
>>> Earlier I installed BaseX on a EC2 instance at Amazon, and there I found
>>> that import modules had to be placed in /usr/share/tomcat7 to be found.
>>> But that directory does not exist on this server, and even when I create
>>> it
>>> and place library.xq there it is still not found.
>>> I tried placing library.xq in the RESTPATH directory, in the REPOPATH
>>> directory, in the home directory of BaseX, but all in vain.
>>> I only get it to work when I place library.xq in the root of the server.
>>> And
>>> that is obviously not something I want to do.
>>> Or, alternatively, when I place it in [some directory] and then change
>>> the
>>> import line to
>>>          import module namespace lib="My Library" at "[some
>>> directory]/library.xq";
>>> In other words, when I change the relative path to an absolute one.
>>> But I'd have to do that for all of my XQuery files (a lot!) and, worse,
>>> I'd
>>> have to change it again if I deploy the .xq files on another server.
>>>
>>> So, to summarize: in which directory/directories does BaseX try to locate
>>> import modules?
>>> And what would I have to do to change the default location(s)?
>>>
>>> Thanks in advance.
>>>
>>> Paul
>
>

Reply via email to