[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Yet another plea for XUpdate (was New XSLT, XPath, and XQu


update query in xpath

Dare Obasanjo wrote:
> Patrick Lehti <Patrick.Lehti@i...> wrote:
>> Just think of an XML document of some GBs of size and you
>> want to change a greater amount of nodes in that document
>> with your update query. Do you really prefer a post-update
>> validation of the complete document against a static type
>> check of the update query?  Don't forget: if the validation
>> fails, you have to do a very expensive rollback on your
>> database! And what about developing the update query, do
>> you want to do these post-update validation and rollback
>> steps until you completely debugged the query and it is
>> working as you expected?
>
> Actually, I don't expect something that expensive.
> What I would like is for post-update validation to be
> the the most that is required by a DML specification
> giving implementations leeway to do more aggresive
> validation if they can which I am sure many will (in a
> way that would probably mimic much of the XQuery type
> system without some of the more onerous obligations).
> A post-update validation would be the minimum
> requirements as opposed to the XQuery expensive static
> & dynamic type checking as the minimal requirements
> approach.


Depending on the schema, update validation can be fairly cheap.

In tree-local grammars (e.g., DTDs, or a restricted subset
of RELAX-NG), it's possible to verify INSERTed and UPDATEd
nodes by first (1) validating the new subtree on its own
(which is O(n) in the size of the new subtree) and (2)
making sure that the new node is valid in the new context
(which is O(n) in the number of sibling nodes).  Further, if
all content models are string-local -- which is usually the
case for data-oriented XML vocabularies -- you can do step
(2) just by looking at the new node's immediate predecessor
and immediate successor, an O(1) operation.

This can be done *before* the update is even performed,
so there's no need to roll back a transaction.
If I'm not mistaken, a similar approach will work for
tree-regular grammars too (e.g., RELAX-NG), using
bottom-up tree automata.

Although I'm a big fan of strong static typing in general,
I tend to agree that the benefits for XML work are overstated.


--Joe English

  jenglish@f...

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.