- From: <bugzilla@jessica.w3.org>
- Date: Thu, 16 Jan 2014 14:09:26 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24308
Bug ID: 24308
Summary: Overriding templates can also be matching templates,
but this case has no rules in the spec
Product: XPath / XQuery / XSLT
Version: Last Call drafts
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P2
Component: XSLT 3.0
Assignee: mike@saxonica.com
Reporter: abel.braaksma@xs4all.nl
QA Contact: public-qt-comments@w3.org
The only templates that can be overridden are named templates. But if named
templates also contain a mode and a match attribute, the behavior is unclear
(in fact, I could not find any mention of this case).
Example:
<xsl:override>
<xsl:template match="P" mode="M" name="N" />
<xsl:override>
This example overrides named template N and thus affects xsl:call-template.
However, it (probably) also affects xsl:apply-template. The spec explains[1]
that templates bound to a mode can be overridden by template rules in the
stylesheet, but it is unclear what happens when the new template rule appears
in the xsl:override, let alone what happens when the same node matches the
template rule in the xsl:override and in the stylesheet (main package).
While one could argue that the xsl:override takes precedence or that
declaration order is taken into consideration, the following example is
currently legal but conflicts with the statement "When a template rule
specifies mode="#all" this is interpreted as meaning all modes declared
implicitly or explicitly within the declaring package of the xsl:template
element.":
<xsl:override>
<xsl:template match="P" mode="#all" name="N" />
</xsl:override>
Perhaps the easiest solution is to disallow mode and match attributes when
xsl:template appears within xsl:override. After all, simply specifying template
rules on the stylesheet level is already enough to define overrides.
[1] http://www.w3.org/TR/xslt-30/#modes-and-packages
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 16 January 2014 14:09:27 UTC