- From: <bugzilla@jessica.w3.org>
- Date: Tue, 21 Oct 2014 05:49:15 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27119 Bug ID: 27119 Summary: [XQX31] unnecessary nesting in array constructors Product: XPath / XQuery / XSLT Version: Working drafts Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: XQueryX 3.1 Assignee: jim.melton@acm.org Reporter: jmdyck@ibiblio.org QA Contact: public-qt-comments@w3.org The schema seems unnecessarily nested in the area of array constructors. For instance, consider the query [1] whose corresponding query in XQueryX 3.1 is: <xqx:module ...> <xqx:mainModule> <xqx:queryBody> <xqx:arrayConstructor> <xqx:squareArray> <xqx:arrayElem> <xqx:integerConstantExpr> <xqx:value>1</xqx:value> </xqx:integerConstantExpr> </xqx:arrayElem> </xqx:squareArray> </xqx:arrayConstructor> </xqx:queryBody> </xqx:mainModule> </xqx:module> (1) here's no need for the <xqx:arrayConstructor> element. Its content can only ever be a squareArray or a curlyArray, so it would be simpler to make *those* be in the 'expr' substitution group. (And maybe rename them to squareArrayConstructor and curlyArrayConstructor, to match the corresponding non-terminals.) The non-terminal ArrayConstructor doesn't need to be reflected in the schema at all. (Consider that there is no xqx:constructor or xqx:nodeConstructor or xqx:directConstructor or xqx:computedConstructor.) (2) There's no need for the <xqx:arrayElem> element. Its content can only ever be a single expr, so it would be simpler to say that the content of a squareArray is a sequence of exprs, and that the content of a curlyArray is an optional expr. (Compare to exprList, sequenceExpr, and (roughly speaking) exprOrPlaceholderList, each of which can contain an unbounded sequence of exprs, without each being wrapped in another element.) -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Tuesday, 21 October 2014 05:49:17 UTC