[Bug 29277] [XP31] Evaluating function calls does not mention evaluation of dynamic or static function calls that have no FunctionBody

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

--- Comment #5 from Michael Kay <mike@saxonica.com> ---
I would like to propose that the following sentence in XP31 §3.1.6

<quote>
Furthermore, if the function referenced by a NamedFunctionRef has an
implementation-dependent implementation, then the implementation of the
function returned by the NamedFunctionRef is associated with the static context
of this NamedFunctionRef expression and to the dynamic context in which it is
currently being evaluated.
</quote>

be rewritten, to make its meaning clear:

in XP31 §3.1.6

<quote>
In the case of built-in functions (more precisely, functions having an
implementation-dependent implementation) that depend on the static or dynamic
context, the static context that applies is the static context of the
NamedFunctionRef, and the dynamic context is the dynamic context in which the
NamedFunctionRef is evaluated. 

Note: The result of any dynamic function call to the function returned by the
NamedFunctionRef does not depend in any way on the static or dynamic context of
that dynamic function call.

For example, if $a is bound to the element <a><b><c/></b></a>, then the
expression

let $f := $a/name#0 return $a/b/c/$f()

returns "a" (and not "c").
</quote>

We also then need to adjust the wording for function-lookup, which currently
says that it "deliberately uses the same wording" - which is not actually true,
since it corrects some of the grammatical problems in the original.

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

Received on Thursday, 12 November 2015 09:35:25 UTC