- From: Michael Dyck <jmdyck@ibiblio.org>
- Date: Mon, 2 Nov 2015 18:44:08 -0500
- To: "public-xsl-query@w3.org" <public-xsl-query@w3.org>
> ACTION A-621-03: Michael Dyck to update the grammar for empty
> expressions in braces.
Done. I changed the grammar and also the conversion-to-XQueryX code.
As I stated in an earlier post, the WG decision on this matter was
not very clear. So here are the specific changes I made to the grammar.
Please check if these are the desired changes.
-------------------------------------------------------------------
The following grammar edits do not change the set of valid queries.
In:
CompAttrConstructor
CompPIConstructor
I changed:
"{" Expr? "}"
to:
EnclosedExpr
In:
CompElemConstructor
I changed:
"{" ContentExpr? "}"
to:
EnclosedContentExpr
------------------------------------------------------------------
The following grammar edits *do* change the set of valid queries,
and so should presumably have corresponding tests created/altered.
In:
CatchClause
ValidateExpr
OrderedExpr
UnorderedExpr
CompDocConstructor
CompTextConstructor
CompCommentConstructor
I changed:
"{" Expr "}"
to:
EnclosedExpr
In:
TryClause
I changed:
"{" TryTargetExpr "}"
to:
EnclosedTryTargetExpr
In:
CompNamespaceConstructor
I changed:
"{" PrefixExpr "}"
to:
EnclosedPrefixExpr
and changed:
"{" URIExpr "}"
to:
EnclosedURIExpr
-------------------------------------------------------------------
There are a few remaining occurrences of braced Exprs (outside of EnclosedExpr):
In:
CompElemConstructor
CompAttrConstructor
CompPIConstructor
I did NOT change:
"{" Expr "}"
because those are 'name expressions',
which cannot legally yield empty sequence.
In:
ExtensionExpr
I did NOT (ultimately) change:
"{" Expr? "}"
because an omitted Expr has different semantics there than it does
elsewhere. (See
https://lists.w3.org/Archives/Public/public-xsl-query/2015Nov/0000.html)
Also, in
CurlyArrayConstructor
I did NOT change
"{" Expr? "}"
because it wasn't in the list of expressions to 'consider',
despite that it presumably it has the "{} means {()}" semantics.
(I say "presumably" because I don't think the spec actually defines
the meaning of "array {}".)
-Michael
Received on Monday, 2 November 2015 23:45:14 UTC