[Bug 27536] [XP31] Focus for evaluation of keyspecifier in lookup

https://www.w3.org/Bugs/Public/show_bug.cgi?id=27536

Michael Kay <mike@saxonica.com> changed:

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

--- Comment #2 from Michael Kay <mike@saxonica.com> ---
The revised description is inadequate. Consider

$emps?fred

This is not equivalent to

for $e in $emps, $f in fred return $e($f)

Rather, it is equivalent to 

for $e in $emps, $f in "fred" return $e($f)

The equivalence also does not work for wildcards ($emps?*).

I suggest the following:

<quote>
The semantics of a Postfix Lookup expression depend on the form of the
KeySpecifier, as follows:

* If the KeySpecifier is an NCName, IntegerLiteral, or Wildcard ("*"), then the
expression E?S is equivalent to E!?S. (That is, the semantics of the postfix
lookup operator are defined in terms of the unary lookup operator).

* If the KeySpecifier is a ParenthesizedExpr, then the expression E?(S) is
equivalent to 

for $e in E, $s in S return $e($s)

Note: the focus for evaluating S is the same as the focus for the PostfixLookup
expression itself.
</quote>

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Monday, 6 July 2015 08:53:53 UTC