- From: <bugzilla@jessica.w3.org>
- Date: Mon, 21 Nov 2016 03:46:23 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=30017
Michael Dyck <jmdyck@ibiblio.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jmdyck@ibiblio.org
--- Comment #1 from Michael Dyck <jmdyck@ibiblio.org> ---
(In reply to Reece H. Dunn from comment #0)
> UpdatingFunctionCall is defined in Update Facility 3.0 as:
>
> [207] UpdatingFunctionCall ::= "invoke" "updating" PrimaryExpr "("
> (ExprSingle ("," ExprSingle)*)? ")"
>
> However, PrimaryExpr contains FunctionCall. This means that for:
>
> invoke updating test()
>
> 'test()' will be interpreted as FunctionCall. That is:
>
> UpdatingFunctionCall: 'invoke updating'
> PrimaryExpr/FunctionCall: 'test()'
> [error]: missing token '('
Yes, that looks like the correct behaviour to me. What do you think is
ambiguous?
> It also does not make sense for this to be an OrderedExpr or Constructor
> (which are valid according to the grammar).
(Note to others: "this" = "the PrimaryExpr of an UpdatingFunctionCall".)
E.g., if you used a Constructor there, you'd get a type error. But it's not the
grammar's job to only derive type-safe queries.
> 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.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Monday, 21 November 2016 06:06:51 UTC