[Bug 24308] Overriding templates can also be matching templates, but this case has no rules in the spec

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24308

--- Comment #4 from Michael Kay <mike@saxonica.com> ---
Agreed, this is a bit of a mess.

My first reading was that xsl:override was used only for overriding named
components (the section heading of 3.6.2.5 is "Overriding named components"). 

But in 3.6.3 we say (table entry "public") "A using package may use
xsl:apply-templates to invoke templates in this mode; it may also declare
additional template rules in this mode, which are selected in preference to
template rules in the used package. These may appear only as children of the
xsl:override element within the xsl:use-package element."

It's explicit, I think, that if package P uses package Q, then P can't include
template rules that override rules in Q unless (a) the mode is public (which
implies it is named) and (b) the overriding rules are children of xsl:override.

I don't think we should allow mode="#all" or mode="#unnamed" within
xsl:override; a template rule appearing here must be in a specific public mode
declared in the package-being-overridden.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Wednesday, 29 January 2014 11:07:08 UTC