> ---------- Forwarded message ----------
> From: marco fregonese <
marcofregonese@gmail.com>
> Date: 2013/1/21
> Subject: Re: [basex-talk] dynamic web application, XQJ, BaseX
> To: Christian Grün <
christian.gruen@gmail.com>
>
>
> There is a class in my Java web application that has a method that, after
> connecting to my BaseX database, execute a query on it.
> This query (associated to the "xquerystring" variable), after importing a
> library module and pointing the processor to the file containing the library
> module("library_module.xq"), uses the function "lib:getparts()".
> Now, after executing this method, I noticed that:
> with BaseX 7.3 the Xquery processor (o whatever it is, I don't know) looks
> for "library_module.xq" in the filesystem $HOME/basex/bin,
> while with BaseX 7.5 the processor looks for "library_module.xq" in $HOME.
> My question basically is: what is that makes the processor (or whatever it
> is) look for the file "library_module.xq" in $HOME/basex/bin (with BaseX
> 7.3) and in $HOME (with BaseX 7.5)?
>
> Hope I've been clear.
>
> Thanks
>
> PS: in BaseX GUI everything works fine: the XQuery processor looks for the
> file containing the library module in the same folder where the main module
> is.
> Example of main module:
>
> import module namespace lib="
http://www.example.com/my_library_module" at
> "library_module.xq";
>
> lib:getparts()
>
> The following is the code of the class I've talked about:
>
> package xqu;
>
> import java.io.File;
> import java.io.FileNotFoundException;
> import java.io.FileOutputStream;
> import java.io.PrintStream;
>
> import javax.xml.namespace.QName;
> import javax.xml.xquery.XQConnection;
> import javax.xml.xquery.XQException;
> import javax.xml.xquery.XQExpression;
> import javax.xml.xquery.XQResultSequence;
>
> import con.Connection;
>
> public class Query {
>
> public static void getAllParts(String a, String sc) throws XQException,
> FileNotFoundException
> {
> File file = new File(sc);
> FileOutputStream fos = new FileOutputStream(file);
> PrintStream ps = new PrintStream(fos);
> System.setOut(ps);
>
> XQConnection con = Connection.getConnection();
> XQExpression xqe = con.createExpression();
>
> xqe.bindString(new QName("b"), a, null);
>
> String xqueryString =
> // using backslash for escaping "
> "import module namespace
> lib=\"
http://www.example.com/library_module\"" +
> "at \"library_module.xq\";" +
> "declare variable $b external; " +
> "lib:getparts($b)";
>
> XQResultSequence rs = xqe.executeQuery(xqueryString);
>
> String b = rs.getSequenceAsString(null);
>
> con.close();
>
> System.out.println(b);
>
>
> }
> }
>
> 2013/1/20 Christian Grün <
christian.gruen@gmail.com>
>>
>> Hi Marco,
>>
>> sorry for the late feedback. Can you reproduce the issues in the BaseX
>> GUI or on command line?
>>
>> Best,
>> Christian
>> ___________________________________
>>
>