> Subject: Re: [basex-talk] Question regarding BaseX support for id and idref
> From: liam@w3.org
> To: james.jw@hotmail.com
> CC: basex-talk@mailman.uni-konstanz.de
> Date: Mon, 13 May 2013 23:53:54 -0400
>
> On Mon, 2013-05-13 at 21:01 -0600, James Wright wrote:
> > Liam,
> > I think that answers my question and is what I expected. So basically
> > BaseX and maybe XQuery as a whole does not respect or understand the
> > id/idref concept formally and thus will not automatically join.
>
> It's actually not strictly true - a DTD-aware XQuery processor can
> supply the id() and idref() XPath functions. However, these do not work
> across documents, and the values must be legal XML identifiers.
>
> Having said that, most XML databases make indexes, so joins using FLWOR
> and values will work based on values.
>
> Although there are no integrity constraints as such, you can use XML
> Schema to validate incoming data in some implementations automatically,
> and in others by running a validator as part of some external process.
>
> > [...]
>
> > I need to handle the relationship explicitly.
>
> Yes.
>
> Note also, by the way, that XML databases tend to go fastest when you
> have
> . few or zero XML namespaces
> . lots of different XML element names
> . content rather than attributes (as then you can use full text).
>
> But this is only a general rule of thumb; like all database query
> languages you can sometimes write a query that takes milliseconds and
> sometimes you write one that takes days. Luckily XQuery has been around
> for a while and the surviving implementations generally do some pretty
> good optimization.
>
> Liam
>
> --
> Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
> Pictures from old books: http://fromoldbooks.org/
> Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
>