[xquery-talk] RE: Future of XQuery and XQuery Update Faclilty

Frans Englich frans.englich at telia.com
Mon Oct 29 10:50:44 PST 2007

On Monday 22 October 2007 21:44:11 Jonathan Robie wrote:
> Michael Kay wrote:
> >> I don't follow you.   I don't see that at all.
> >
> > Well, the language semantics are expressed in terms of pending update
> > lists, and you want to expose those pending update lists to the user. But
> > an implementation only has to behave "as if" there were a pending update
> > list. Internally, it might do the update immediately, detect conflicts as
> > they arise, and roll back to the original state if there is a failure.
> > You're making it quite difficult to implement it that way if the PUL is
> > visible to user applications.
> >
> > In the case of XQuery implementations built on top of an RDBMS, I would
> > think they are likely to use the transaction manager of the database
> > service.
> Perhaps another way of putting it: what is central here is the updates
> that are to be done. To specify the updates to be done, an application
> would write queries that contain updates, it would not generate a
> pending update list in XML so that a different application can do the
> updates. Distributing a single update among multiple applications is not
> a simplification.
> The pending update list is a way of defining the semantics of the
> language. We don't expose the formal semantics as XML either, nor the
> import mechanism, nor many other aspects of our semantics. Most users
> will use one XQuery engine for a given update, and simply issue an
> update and observe the results.

I have no particular opinion on updates-as-XML as discussed in this thread, 
but I've found the general idea of using XML for XQuery features valid 
several times.

Often one fights with the idea of how to make the XDM cope with an XQuery 
feature. If one make functions first class citizen, how does one represent a 
function? And how would a tuple data type turn out?

On at least the surface it seems many of those problems are elegantly solved 
by just using XML & namespaces. For instance, by representing an XQuery 
function with an XML fragment(in a standardized namespace), lets the XQuery 
language itself do introspection, serialization and it fits naturally into 
the data model.


More information about the talk mailing list