- From: <bugzilla@wiggum.w3.org>
- Date: Sat, 16 Jul 2005 23:52:42 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1668 Summary: [FS] technical: 4.8.1 FLWOR expressions: non- parameterized normalization Product: XPath / XQuery / XSLT Version: Last Call drafts Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Formal Semantics AssignedTo: simeon@us.ibm.com ReportedBy: jmdyck@ibiblio.org QAContact: public-qt-comments@w3.org 4.8.1 FLWOR expressions Norm [[ FLWORClause ]]_FLWOR(Expr) I don't understand why you're using a parameterized []-form. I can see how you might need it if you were normalizing the 4.8 syntax, but since you're assuming an easier syntax, the parameter shouldn't be necessary. If we define FLWORExpr_or_return ::= FLWORExpr | "return" Expr (find a better name if you like) then we can express the assumed EBNF as: FLWORExpr ::= (ForClause | LetClause | WhereClause | OrderByClause) FLWORExpr_or_return Then you can: (a) drop Norm / rule (2|3) (b) recast rule (4|5|6) (and 4.8.4 / Norm / rule 1) as non-parameterized rules: rule 4: [[ <one many-variable ForClause> FLWORExpr_or_return ]]_Expr == <many single-var Forclauses> return [[ FLWORExpr_or_return ]]_Expr rule 5: (very similar) rule 6: [[ where Expr FLWORExpr_or_return ]]_Expr == if ( [[ Expr ]]_Expr ) then [[ FLWORExpr_or_return ]]_Expr else () 4.8.4 / Norm / rule 1: [[ stable? order by OrderSpecList FLWORExpr_or_return ]]_Expr == [[ OrderSpecList ]]_OrderSpecList return [[ FLWORExpr_or_return ]]_Expr (c) provide a "base case" rule: [[ return Expr ]]_Expr == [[ Expr ]]_Expr
Received on Saturday, 16 July 2005 23:55:40 UTC