[RUS-WG] Status of the XQuery Update Facility

Gilbert Netzer noname at pdc.kth.se
Mon Apr 2 04:37:51 CDT 2007


Hi everybody,

as you probably can guess I am trying to break the large considated 
comments document (http://forge.gridforum.org/sf/go/doc14370?nav=1) from 
Xiaoyu down into smaller pieces that can life on its own.

So here comes the next piece about the XQuery Update Facilities I mentioned 
earlier (I added my comment below after MY COMMENT):

[Comment 5]
“I was thinking that using XPath statement for context node orientation for 
both extraction and update. For example, RUS::modifyUsageRecords (String 
XPath, String value), could be used to modify a specific ‘urf:MachineName’. 
But I finally resort to XUpdate statement for RUS update operations because 
There are quite a few complicated use case, like the pricing system would 
insert a ‘urf:Charge’ property into usage records which cannot be handled 
by single XPath statement. What is your thinking here?” [Xiaoyu]

Evaluation
“I am considering changing the ‘XUpdate’ to ‘XQuery update Facility 
(draft)’ [http://www.w3.org/TR/xqupdate/] extensions since the XUpdate 
specification seems to not be maintained any more and never advanced beyond 
draft stage. [Gilbert]

“I think that would probably fine, but the only worry is that the W3C 
XQuery XUpdate document is still a working document. And is there any 
service implementation available in existing XML:DB engine? If no, how RUS 
implementation should enable RUS update service?” [Xiaoyu]

MY COMMENT:
At least eXist seems to support something that looks like the W3C working 
working draft, see http://exist.sourceforge.net/update_ext.html, but it is 
probably not complete yet.
One problem I can see with the XQuery languange is that it is very 
powerful. If you use the update facilities, you could possibly reduce the 
whole RUS to one method called executeXQuery that would take the query as a 
string and return the result. I don't want to suggest that, just to point 
out the power of XQuery. But that also means that you can formulate very 
"expensive" XQueries that could easily overload a RUS server.

So my suggestion is to go for XQuery, but require from the service that is 
only MUST understand a limited subset, by SHOULD try to understand (and 
execute) the whole XQuery language on a best effort base.

This way services could remain simple, and clients that want to 
interoperate know what they can send to any RUS, but more sophisticated 
services can offer more. Clients can use those facilities at their own risk.



More information about the rus-wg mailing list