- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 01 Feb 2008 06:16:21 +0000
- To: public-sml@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5400 kumarp@microsoft.com changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|editorial |needsReview ------- Comment #3 from kumarp@microsoft.com 2008-02-01 06:16 ------- Please review the changes made to section 4.2.6 deref() XPath Extension Function. Bulleted lists are hard to see properly in bug history. It may be easier to review the changes by looking at the spec. ------------ 4.2.6 deref() XPath Extension Function Each SML processor MUST provide an implementation of the deref() XPath extension function. This function takes a node set of elements and returns a node set consisting of element nodes corresponding to the elements referenced by the input node set. In particular, for each SML reference R in the input node set the output node set contains at most one element node. Let, I = input node set. That is, the set of nodes passed to deref() function. Let, O = output node set. That is, the set of nodes returned by deref() function. The behavior of deref() function MUST satisfy the following constraints: For each SML reference R in the input node set I: If the implementation recognizes no SML reference scheme used in the SML reference R, then no element is added to O. If the implementation recognizes R as using N supported reference schemes, then deref() is not required to attempt to resolve all N schemes. Its behavior in this case is implementation-defined and the set of reference schemes that are actually attempted may be any subset of the recognized schemes. This is subject to the following constraints: If deref() doesn't attempt to resolve any reference scheme or if none of the attempted reference schemes resolves, then no element is added to O. If at least one of the attempted reference schemes resolves to more than one target element, then 0 or 1 of the targets is added to O. If one attempted reference scheme resolves to a target different from the target resolved by another attempted reference scheme, then 0 or 1 of the targets is added to O. If one attempted reference scheme resolves and another doesn't, then 0 or 1 of the targets is added to O. If none of the above is true (that is, all attempted reference schemes resolve to the same one and only one target element, call it T), then one target element (namely, T) is added to O, if it does not already exist in O.
Received on Friday, 1 February 2008 06:16:29 UTC