xsl:with-param¶
Used to define an actual parameter to a template: within an xsl:call-template, xsl:apply-templates, xsl:apply-imports, or xsl:next-match element. Also used to define parameters to an iteration (using xsl:next-iteration) or to a dynamic invocation of an XPath expression (using xsl:evaluate).
Available in XSLT 1.0 and later versions. Available in all Saxon editions.
- Content: sequence-constructor
- Permitted parent elements:
xsl:apply-templates;xsl:apply-imports;xsl:call-template;xsl:evaluate;xsl:next-match;xsl:next-iteration
Attributes¶
name- eqname
- The name of the parameter.
select?- expression
- The value of the parameter may be defined either by a select attribute, or by the contents of the
xsl:paramelement, in the same way as forxsl:variable. as?- sequence-type
- Defines the required type of the parameter. The supplied value of the parameter will be converted to this type if required.
tunnel?- boolean
- Used only when passing parameters to templates. The attribute
tunnel="yes"creates a tunnel parameter which is accessible to called templates at any depth, whether or not they are declared in intermediate templates. However, the value is only accessible iftunnel="yes"is also specified on the correspondingxsl:paramelement. saxon:as?- sequence-type
- Allows additional type information to be supplied using Saxon extension syntax.
Details¶
For an example, see xsl:template.
The parameter has no effect unless the called template includes a matching xsl:param element. But when using xsl:call-template, it is an error to specify a parameter that isn't declared in the target template, or to omit a parameter that's described in the target template with required="yes".