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

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

--- Comment #2 from Reece H. Dunn <msclrhd@gmail.com> ---
(In reply to Michael Dyck from comment #1)
> (In reply to Reece H. Dunn from comment #0)
> > It would make more sense to define this similar to the XQuery 3.1
> > ArrowFunctionSpecifier:
> > 
> >     [127] ArrowFunctionSpecifier ::= EQName | VarRef | ParenthesizedExpr
> > 
> > For example:
> > 
> >     UpdatingFunctionCall ::= "invoke" "updating"
> >       UpdatingFunctionCallSpecifier "(" (ExprSingle ("," ExprSingle)*)? ")"
> >     UpdatingFunctionCallSpecifier ::= EQName | VarRef | ParenthesizedExpr
> 
> It's possible that might make more sense to some people. But note that
> UpdatingFunctionCall is fairly explicitly modelled after XQuery's
> DynamicFunctionCall, which also uses a PrimaryExpr to specify the function
> to be invoked.

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).

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

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

Received on Monday, 21 November 2016 07:11:47 UTC