[Bug 30017] UpdatingFunctionCall use of PrimaryExpr makes the grammar ambiguous.

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

--- Comment #3 from Michael Dyck <jmdyck@ibiblio.org> ---
(In reply to Reece H. Dunn from comment #2)
>
> Thanks for the clarification. I was thinking of things like:
> 
>     invoke updating fn:put(...)
> 
> However, if I understand correctly, the 'invoke updating' here is not needed
> as fn:put has the updating annotation (and any other updating function).

Right, a FunctionCall can reference a simple function or updating function,
making it a simple expression or updating expression respectively.

> Likewise, it would be an error to use `$f(...)` if `$f` references an
> updating function -- 'invoke updating' should be used here --

That true if none of the args is "?": "If the function returned by the
PrimaryExpr [of a dynamic function invocation] is an updating function, and the
dynamic function invocation is not a partial function application, a dynamic
error is raised [err:XUDY0038]."

> and `invoke updating $f(...)` would be an error if `$f` does not
> reference an updating function.

No, a dynamic updating function call "can invoke either an updating function or
a simple function".

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

Received on Monday, 21 November 2016 20:24:36 UTC