- From: Michael Dyck <jmdyck@ibiblio.org>
- Date: Mon, 18 Apr 2016 12:12:46 -0400
- To: public-xsl-query@w3.org
On 16-04-14 05:05 PM, Robie, Jonathan wrote: > Done and checked in. > > Jonathan > > ACTION A-636-08: Jonathan to adopt the proposal in comment 0 of bug 29526. That is, <https://www.w3.org/Bugs/Public/show_bug.cgi?id=29526> [XQ31] Incompatible change to ExtensionExpr. See https://www.w3.org/XML/Group/qtspecs/specifications/xquery-31/html/xquery-31-diff.html#doc-xquery31-ExtensionExpr In 3.22 "Extension Expressions", note that (as a result of the resolution of the above bug) the production: ExtensionExpr ::= Pragma+ EnclosedExpr has changed to: ExtensionExpr ::= Pragma+ "{" Expr? "}" However, the para after the EBNF still says: An extension expression consists of one or more *pragmas*, followed by an /enclosed expression/. Technically, this isn't correct, because "An *enclosed expression* is an instance of the EnclosedExpr production", and the thing after the pragmas is no longer an instance of EnclosedExpr. Similarly, a couple paragraphs later, the two references to "content expression" are incorrect, because that term is defined only for enclosed expressions. To fix this, you might consider using a new term, e.g. "fallback expression": ... *pragmas*, followed by an optional expression (the *fallback expression*) enclosed in braces. ... If the fallback expression is omitted, .... ---- Also, there's wording problem re XQST0079. Currently, the text says: If all the pragmas in an ExtensionExpr are ignored, then the value of the ExtensionExpr is the value of the content expression. If the content expression is not provided explicitly, a static error is raised [err:XQST0079]. The intent is that the second sentence is within the 'scope' of the If-then opened up by the first sentence, i.e. (# foo:bar #) {} is a static error only if the implementation doesn't recognize the ns denoted by 'foo'. However, that intent isn't obvious, and it's easy to read the last sentence as stand-alone, i.e. (# foo:bar #) {} is always a static error. -Michael
Received on Monday, 18 April 2016 16:13:17 UTC