How to address a document inside a basex database?
Hi all, I have a large database of about a dozen separate xml files. When I use the GUI interface, I can see them all in the graphical display, and as I pass the cursor over elements, it displays doc("om.xml")/... But when I try that in a query (the database is open), I'm told: FODC0002 File or directory C:/servers/basex/om.xml not found The basex installation is at C:/servers/basex and the currently opened database ("fasdb"), which was loaded from file 'om.xml' and others on a different machine, and downloaded, lives here: C:/servers/basex/BaseXData/fasdb How can I refer just to one document from that db in a query e.g. let $persons := doc("om.xml")//person Forgive me if this is a basic error on my part, I am still learning. I have tried variations on the basex:db construct, but all give a file not found error. If I move the document to where it is looking, basex builds a new db, not what I want at all! I'm sure there is a simple solution but I cannot see it. Any clues much appreciated. Cheers all, Sandra
..this is an easy one (yet, no reason to be sorry…): you can use the collection() and basex-uri() functions to find a file within a collection. The following example might give you some hints: http://basex.org/code/CollectionQueryExample Hope this helps, Christian On Sun, Mar 28, 2010 at 12:02 AM, Sandra Maria Silcot <ssilcot@unimelb.edu.au> wrote:
Hi all,
I have a large database of about a dozen separate xml files. When I use the GUI interface, I can see them all in the graphical display, and as I pass the cursor over elements, it displays
doc("om.xml")/...
But when I try that in a query (the database is open), I'm told:
FODC0002 File or directory C:/servers/basex/om.xml not found
The basex installation is at C:/servers/basex and the currently opened database ("fasdb"), which was loaded from file 'om.xml' and others on a different machine, and downloaded, lives here:
C:/servers/basex/BaseXData/fasdb
How can I refer just to one document from that db in a query e.g.
let $persons := doc("om.xml")//person
Forgive me if this is a basic error on my part, I am still learning. I have tried variations on the basex:db construct, but all give a file not found error. If I move the document to where it is looking, basex builds a new db, not what I want at all!
I'm sure there is a simple solution but I cannot see it. Any clues much appreciated.
Cheers all,
Sandra
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
participants (2)
-
Christian Grün -
Sandra Maria Silcot