This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Maybe I just fail to understand the text. If so, perhaps the text could be clearer. <quote> [ERR XTSE0690] It is a static error if a template that is invoked using xsl:call-template declares a template parameter specifying required="yes" and not specifying tunnel="yes", if no value for this parameter is supplied by the calling instruction. [ERR XTDE0700] In other cases, it is a non-recoverable dynamic error if the template that is invoked declares a template parameter with required="yes" and no value for this parameter is supplied by the calling instruction. </quote> This sounds as if there were a special rule concerning the treatment of required=yes, applied when the template is called by call-template: as if a call not supplying the parameter would not provoke an error, if only the <xsl:param> had a further attribute tunnel=yes. However, this would hardly make sense, and it is not what I observe when testing with Saxon.
Sorry for the admin slip-up here: it seems this was one of a batch of bugs closed by a visiting vandal. We believe the spec is correct and reflects the WG intentions. The idea is that there are two errors here: XTSE0690 is a static error, because call-template calls can be analyzed statically, while XTDE0700 covers apply-templates and other cases where the error can only be detected at run time. I hope this explanation is satisfactory and am closing the bug as "INVALID".