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/>

            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

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