xsl:call-template
Invokes a named template.
Category: instruction
Content: xsl:with-param*
Permitted parent elements: 
          any XSLT element whose content model is 
        sequence-constructor; any literal result element 
      
Attributes
| 
 | 
 | Name of the called template, must match the name defined on an xsl:template element. | 
Saxon availability
Available in XSLT 1.0 and later versions. Available in all Saxon editions. Available for all platforms.
Notes on the Saxon implementation
Until 9.6, Saxon supported an alternative instruction
                        saxon:call-template, but this has now been dropped. This had
                    the same effect as xsl:call-template, except that it allowed
                        name attribute may be written as an attribute value template,
                    allowing the called template to be decided at run-time. In place of this
                facility, XSLT 3.0 offers higher-order functions.
Details
To supply parameters to the called template, one or more xsl:with-param elements may be included. The values
                    of these parameters are available to the called template. If the
                        xsl:with-param element specifies tunnel="yes",
                    then the parameter is passed transparently through to templates called at any
                    depth, but it can only be referenced by an xsl:param element that
                    also specifies tunnel="yes". If the default value,
                        tunnel="no" is used, then the parameter value is available only
                    in the immediately called template, and only if the xsl:param
                    element specifies tunnel="no" (explicitly or by defaulting the
                    attribute).
The context of the called template (for example the current node and current node list) is the same as that for the calling template; however the variables defined in the calling template are not accessible in the called template.