[Bug 9026] New: Inability to combine expressions creating pending updates & values

http://www.w3.org/Bugs/Public/show_bug.cgi?id=9026

           Summary: Inability to combine expressions creating pending
                    updates & values
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Update Facility
        AssignedTo: jonathan.robie@redhat.com
        ReportedBy: Probst_Martin@emc.com
         QAContact: public-qt-comments@w3.org


The XQuery Updates facility candidate recommendation spec requires that
expressions either return a non-empty XDM instance, or a non-empty list of
pending updates, but not both or a mix thereof. This is also checked
statically, not dynamically; it is not possible to write an expressions that
might either return pending updates or an XDM instance.

In our implementation experience, this is not useful. For example, it makes it
impossible to write a query that deletes a set of nodes and returns how many
have been deleted. There are many use cases that require queries to perform
updates and return values at the same time.

Also, in our experience it is technically not a problem to mix updates and XDM
instances in one expression. We have implemented the strict W3C checking which
can be optionally enabled in xDB, but we do not require it and can execute
XQueries that perform both updates and create values.

There are places where the distinction might be useful as an error checking
tool. For example in the Transform expression
(http://www.w3.org/TR/xqupdate/#id-transform), the modify clause should only
contain updating statements; any value creating statements would be lost here.
Requiring updating expressions here might catch user errors, but it is not
clear to use if it is worth the effort.


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 16 February 2010 15:09:00 UTC