[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 #20 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
Some notes on the current text of section 3.1.5.1:

1) under 5.a, 4th bullet point
"If this is not an XPath 3.1 expression then the new function's implementation
is associated with a static context and a dynamic context in one of two ways:
if F's implementation is already associated with contexts, then those are used;
otherwise, SC and DC are used. "

This sentence is of the the form "If X then (if Y then A else B)". The first
"if" is not closed, what if it *is* an XPath 3.1 expression?

2) general
Text is still very hard to digest, I would prefer an example that shows the
differences in SC/DC treatment and the PFA/non-PFA behavior.

3) 5.b.i
5.b: (ii) and (iii) talk about "implementation", (i) does not.

4) 5.b.iii
Text says " A host language must state how the static and dynamic contexts are
used in functions that it provides. "

The word "provides" suggest predefined functions, not necessarily functions
created with host language syntax, such as xsl:function

5) 5.b.iii (in XP31 only)
Under 5.b.iii, 3rd bullet mentions "external functions". This is XQ31 specific,
we decided earlier to remove it, I believe, otherwise we need to define it.

6) general
Does the new text unambiguously resolve an expression like:

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

7) 5.b under Note
Change diff doesn't fully work, i.e., this first Note is not diff-marked, but
it is new. I am not certain if this applies to more text, leading potentially
to missing improvements or reintroduced bugs.

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

Received on Tuesday, 19 April 2016 16:02:01 UTC