[Bug 29981] required="no" on additional tunnel parameters of overriding template

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

--- Comment #2 from Michael Kay <mike@saxonica.com> ---
Abel: yes, the paragraph "If a tunnel parameter is declared in an xsl:param
element with the attribute tunnel="yes", then a dynamic error occurs [see ERR
XTDE0700] if the set of tunnel parameters passed to the template does not
include a parameter with a matching expanded QName." is clearly incomplete: if
you follow the link to XTDE0700 it is clear that the error only applies if the
parameter is explicitly or implicitly required.

Max: yes, I agree, the constraints here could be relaxed. I think it's very
unlikely that a processor would attempt to make any static inferences or
optimizations based on the tunnel parameters declared in a named template, and
therefore we could in principle remove all constraints about the compatibility
of tunnel parameter declarations in an overriding template (whatever the value
of the 'required' attribute).

In fact we've unintentionally eliminated what was probably the original use
case for tunnel parameters, which is to override one template A by setting a
tunnel parameter, and override another template B by using that tunnel
parameter, without having to override all the other templates on the call stack
from A to B.

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

Received on Sunday, 6 November 2016 14:23:55 UTC