W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2017

[Bug 30181] New: XTDE0040 and backwards compatibility with XSLT 2.0

From: <bugzilla@jessica.w3.org>
Date: Fri, 15 Sep 2017 14:57:14 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-30181-523@http.www.w3.org/Bugs/Public/>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=30181

            Bug ID: 30181
           Summary: XTDE0040 and backwards compatibility with XSLT 2.0
           Product: XPath / XQuery / XSLT
           Version: Recommendation
          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
  Target Milestone: ---

We say:

[ERR XTDE0040] It is a dynamic error if the invocation of the stylesheet
specifies a template name that does not match the expanded QName of a named
template defined in the stylesheet, whose visibility is public or final.

But we have several examples in the spec of templates named
xsl:initial-template, that are clearly intended to represent an entry point for
stylesheet invocation, with no visibility attribute: as far as I can see, a
template named xsl:initial-template with no visibility attribute is private,
and is therefore not a permitted entry point.

We also have numerous tests that assume invocation at a named template is
possible without declaring it public.

In addition, invocation of a stylesheet at a named template was permitted in
XSLT 2.0, and such stylesheets do not have a visibility attribute. This rule
would therefore appear to prevent an XSLT 3.0 processor executing a working 2.0
stylesheet.

The problem does not apply to modes; XTDE0045 has an escape clause that
preserves compatibility (A mode is an eligible mode if (5) The effective value
of the declared-modes attribute of the explicit or implicit xsl:package element
of P is no, and M appears as a mode-name in the mode attribute of a template
rule declared within P.)

NOTE: Saxon enforces the rule requiring an initial function to be declared
public, but does not enforce this for an initial template (which is why it
passes the tests).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 15 September 2017 14:57:22 UTC

This archive was generated by hypermail 2.3.1 : Friday, 15 September 2017 14:57:22 UTC