Thanks Christian,
There is (Java based) application logic including the possibility of an RDBMS query associated with the $zzz lookup. I'll try to look through the various references to see if it is possible to invoke that logic right in the FLOWR expression.
Thank you!
Buzz
On Sat, Jun 8, 2013 at 4:20 AM, Christian Grün christian.gruen@gmail.comwrote:
Hi Buzz,
BaseX allows you to address multiple databases in one query. Your query could e.g. look as follows:
for $rep in collection('coll')/Report let $attr0 := $rep/@attr0 let $zzz := collection('lookup')//item[@id =$attr0]/text() return replace value of node $rep/@attr1 with $zzz
You may speed up your query a little by using db:open() instead of collection() (the latter one will additionally look up local files if there’s no database with the given name). To ensure that your query uses the index structures of the lookup database, you can have a look at the InfoView in the GUI, or turn on the query info on command line (-V).
Hope this helps, Christian
Hello All,
I'm relatively new to basex and xquery - but am using basex as a large report repository.
I'd like to try and perform the following xquery - but with some intermediate steps:
xquery for $rep in collection('coll')/Report let $attr0 := $rep/@attr0 return (replace value of node $rep/@attr1 with 'zzz')
The actual value represented by 'zzz' above must be based on a separate (physical) database lookup for each attribute value $attr0 in the
collection
( i.e. the values of attr1 is a (non-trivial lookup) function of attr0.
Is this a scenario in which multiple queries would have to be made based
on
the number of documents in the collection ?
Perhaps there is some slick way of including a call out to some method to such that the 'zzz' above is replaced with something like: JavaModule.doLookup($attr0) ?
I'm executing xquery from a jruby application so either the ruby or the
java
client can be used (perhaps that is somewhat irrelevant).
Thanks in advance for any suggestions,
Buzz
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk