[xquery-talk] default base-uri?
John Snelson
jsnelson at sleepycat.com
Sun Jan 8 17:42:00 PST 2006
Berkeley DB XML does not parse it's queries from a file, so it cannot
set the base URI to the location of the query. Instead, we provide a
default base URI of "dbxml:", which is the URI scheme that we use in
fn:collection() and fn:doc() to access the database. This allows our
users to write relative URIs as an argument to those functions, and have
it resolve by default to the database.
John
Per Bothner wrote:
> What is the "default" base-uri when base-uri has not been
> explicitly specified. The XQuery specification says "none",
> but what does that mean in practice?
>
> If my query contains:
> fn:doc("foo.xml")
> and assume there is no "declare base-uri" declaration.
> Section C.1 of the specifcation says that an implementation
> is allowed to overwrite or augment the default, so the result
> is implementation-defined. But what *should* it be, assuming
> the user have not explicitly specifier a base uri?
>
> * An error?
> * Resolved relative to the source code of the XQuery, assuming
> that is meaningful - e.g. the directory containing the query file?
> * Resolved relative to the "current directory", assuming that
> is meaningful? If so, current directory at compile-time or at
> run-time, if there is a distinction? If the latter, then the
> base-uri is not static - though one could define kludges
> like "file:." or "current-directory:foo.xml".
>
> I have some ideas, but maybe people with wider experience have
> expectations they could share.
--
John Snelson, Berkeley DB XML Engineer
Sleepycat Software, Inc
http://www.sleepycat.com
Contracted to Sleepycat through Parthenon Computing Ltd
http://blog.parthcomp.com/dbxml
More information about the talk
mailing list