- From: <bugzilla@jessica.w3.org>
- Date: Fri, 15 Sep 2017 14:57:14 +0000
- To: public-qt-comments@w3.org
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