I have the awful feeling that I'm missing something really obvious, but I want to be able to get the pathname of the current query, and I can't figure out how.
The use case is that the query validates documents in the collection differently, based on the document element, and I want to refer to the different schema files (which sit, on the file system, right next to the file with the query in it) in a machine-independent way.
So instead of
let $decisionSchema := '/home/graydon/workspace/Content Standards/schemas/decisions_schema.xsd'
I'd like to be able to say something like
let $decisionSchema := concat(string-join(tokenize(get-query-path(),'/')[position() ne last()],'/'),'/decisions_schema.xsd')
only I can't figure out what get-query-path() is.
Thanks! Graydon
On Mon, 2013-04-01 at 13:36 -0400, Graydon Saunders wrote:
I'd like to be able to say something like
let $decisionSchema := concat(string-join(tokenize(get-query-path(),'/')[position() ne last()],'/'),'/decisions_schema.xsd')
only I can't figure out what get-query-path() is.
For many Query engines it won't be defined.
You could try constructing an element and asking for its base URI I suppose.
Liam
Thanks Liam, you are right, the shortest way to achieve should be the following:
let $path-to-query-file := base-uri(<_/>)
Best from Konstanz
Michael
Am 02.04.2013 um 05:36 schrieb Liam R E Quin liam@w3.org:
On Mon, 2013-04-01 at 13:36 -0400, Graydon Saunders wrote:
I'd like to be able to say something like
let $decisionSchema := concat(string-join(tokenize(get-query-path(),'/')[position() ne last()],'/'),'/decisions_schema.xsd')
only I can't figure out what get-query-path() is.
For many Query engines it won't be defined.
You could try constructing an element and asking for its base URI I suppose.
Liam
-- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hi Graydon,
you may as well want to use the static-base-uri() function (“static” refers to the given query file and not the database context).
Christian ___________________________
On Thu, Apr 4, 2013 at 12:07 PM, Michael Seiferle ms@basex.org wrote:
Thanks Liam, you are right, the shortest way to achieve should be the following:
let $path-to-query-file := base-uri(<_/>)
Best from Konstanz
Michael
Am 02.04.2013 um 05:36 schrieb Liam R E Quin liam@w3.org:
On Mon, 2013-04-01 at 13:36 -0400, Graydon Saunders wrote:
I'd like to be able to say something like
let $decisionSchema := concat(string-join(tokenize(get-query-path(),'/')[position() ne last()],'/'),'/decisions_schema.xsd')
only I can't figure out what get-query-path() is.
For many Query engines it won't be defined.
You could try constructing an element and asking for its base URI I suppose.
Liam
-- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
I certainly do want to use static-base-uri(); thank you!
Next time, I need to read the function definitions more slowly. :)
-- Graydon
On Fri, Apr 12, 2013 at 4:26 AM, Christian Grün christian.gruen@gmail.comwrote:
Hi Graydon,
you may as well want to use the static-base-uri() function (“static” refers to the given query file and not the database context).
Christian ___________________________
On Thu, Apr 4, 2013 at 12:07 PM, Michael Seiferle ms@basex.org wrote:
Thanks Liam, you are right, the shortest way to achieve should be the following:
let $path-to-query-file := base-uri(<_/>)
Best from Konstanz
Michael
Am 02.04.2013 um 05:36 schrieb Liam R E Quin liam@w3.org:
On Mon, 2013-04-01 at 13:36 -0400, Graydon Saunders wrote:
I'd like to be able to say something like
let $decisionSchema := concat(string-join(tokenize(get-query-path(),'/')[position() ne last()],'/'),'/decisions_schema.xsd')
only I can't figure out what get-query-path() is.
For many Query engines it won't be defined.
You could try constructing an element and asking for its base URI I suppose.
Liam
-- Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/ Pictures from old books: http://fromoldbooks.org/ Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
basex-talk@mailman.uni-konstanz.de