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:param
element, 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:param
element. 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"
.