Hi Menashé,

If you want to directly address XML nodes of a BaseX database, you can
use the db:node-pre/db:open-pre or db:node-id/db:open-id functions.
Please have a look at the Wiki for more information [1].

Hope this helps,
Christian

[1] http://docs.basex.org/wiki/Database_Module#Read_Operations



On Thu, Apr 30, 2015 at 2:49 PM, Menashè Eliezer
<melie...@ogs.trieste.it> wrote:
> Hello,
> I'm using Java org.xmldb.api package for accessing the Basex server
> (xmldb:basex://...)
> After getting the resultSet I need to make further queries about the
> requested subset (for reporting, etc.)
> I have seen that getId() cannot be used since the Resource will be anonymous
> if it is obtained as the result of a query.
> Source: http://xmldb-org.sourceforge.net/xapi/api/index.html
>
> The queries are not fixed and are based on end user selection.
> I couldn't find a way to have a direct access/reference to a document. In my
> case the ID is simply the filename, but it doesn't seem to be so efficient.
> I wonder if creating a temporal collection for the subset would be faster
> than making query/queries similar to the following example in which there
> are only two ids, but I can have thousands of them:
>
> let $ids := ('360836','300139')
> for $x in collection("collection_name")
> let $filename := substring-after(base-uri($x),'/')
> let $id :=  substring-before($filename,'.')
> where $id = $ids
> return ...
>
> --
> With kind regards,
> Menashè

Reply via email to