W3C home > Mailing lists > Public > public-qt-comments@w3.org > February 2013

[Bug 20874] New: [XSLT 3.0] doubled curlies in AVTs and TVTs

From: <bugzilla@jessica.w3.org>
Date: Tue, 05 Feb 2013 11:10:03 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-20874-523@http.www.w3.org/Bugs/Public/>

            Bug ID: 20874
           Summary: [XSLT 3.0] doubled curlies in AVTs and TVTs
    Classification: Unclassified
           Product: XPath / XQuery / XSLT
           Version: Member-only Editors Drafts
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org

We currently describe the way curly brackets are escaped in a different way
from the way XQuery does it, and there is one practical consequence of the
difference: we have a rule that when the expression ends in "}", this must be
separated from the delimiting "}" by a space, while XQuery has no such rule.

The point is a little academic, since the result of the expression is always
atomized, and the only expressions that can end in "}" (map constructors and
function literals) cannot be atomized. But other expressions ending in "}"
might be introduced in the future.

When AVTs were introduced in 1.0, it was feasible to scan the text looking for
the closing "}" delimiter, taking care to avoid catching a "}" that appeared
inside a string literal, and then pass the text found within the braces to the
XPath parser. The syntax of XPath has become too complicated for this to be a
feasible approach anymore; you need to parse the XPath expression and then
check whether the character that follows it is a closing "}". This makes the
rule that a final "}" in the XPath expression must be separated by whitespace
from the delimiting "}" nothing more than a nuisance, so I propose that we
change it.

I would suggest introducing a grammar similar to that used in XQuery:

CVT ::= ((Char - '{}') | '{{' | '}}' | ('{' Expr '}') )*

Test case cvt-016 is affected.

You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 5 February 2013 11:10:08 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:45:51 UTC