[Bug 5338] [UPD] Revalidation mode: which static context?

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


chamberl@almaden.ibm.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED




------- Comment #4 from chamberl@almaden.ibm.com  2008-02-05 23:49 -------
On 05 Feb 2008 the Query Working Group reconsidered this issue and approved the
following resolution which was proposed by Michael Kay:

1. Give the functions upd:applyUpdates() and upd:revalidate() an extra
argument:

$reval as revalidation-mode

explaining that this takes the value strict, lax, or skip

2. Change clause 5 of 3.2.2 upd:applyUpdates to say:

For each document or element node $top that was marked for
revalidation by one of the earlier steps, upd:revalidate($top, $reval) is
invoked.

3. In 3.2.3 upd:revalidate, change references to "revalidation mode [in the
static context]" to refer to $reval

4. Change clause 3 of 2.4.5 transform to start "Let $reval be the value of
the revalidation mode in the static context of the transform expression. The
following update operation is invoked: upd:applyUpdates($pul, $reval).

5. In 2.1 processing model, change rule 3. Replace "If the outermost
expression in a query returns a pending update list, upd:applyUpdates is
implicitly applied to this pending update list. " by "If the outermost
expression in a query returns a
pending update list, upd:applyUpdates is implicitly called, supplying as
arguments (a) the pending update list, and (b) the value of the revalidation
mode in the static context of the main query module.

Received on Tuesday, 5 February 2008 23:49:59 UTC