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è