xsl:with-param

Passes a parameter value to a template.

Format

<xsl:with-param name = "parameter_name" 
               
  [select = "expression1]"
               
</xsl:with-param>
               

            

Description

The xsl:with-param instruction passes a parameter value to a template. If the template has no matching xsl:param declaration, the XSLT processor ignores the parameter. The value of parameter_name is a qualified name.

The name attribute is required, and it must be a string. The value of the name attribute is a qualified name.

The value that you pass to a template can be an object of any of the types that are returned by expressions. You can specify the value of the parameter in several ways:

  • Specify the select attribute. The value of the select attribute must be an expression. The XSLT processor evaluates the expression, and the result is the value of the parameter. If you specify the select attribute, you must not specify any contents for the xsl:with-param instruction. In other words, do not specify parameter_value.
  • Specify the expr attribute. It is interpreted as an attribute value template. It allows computation of the value expression.
  • Specify parameter_value. If you specify parameter_value, you must not specify the select or expr attribute.
  • Specify none of the above. In this case, the value of the parameter is an empty string.

The xsl:with-param element must be a child of xsl:apply-templates or xsl:call-template.

You can specify the xsl:with-param instruction in xsl:call-template and xsl:apply-template instructions.

Example

Suppose you specify the following parameter for a template:

<xsl:template name="Appendix">
               
  <xsl:param name = "heading"> 1. </xsl-param>
               
  ...
               
</xsl:template>
               

            

You can pass another value for this variable as follows:

<xsl:call-template name = "Appendix">
               
  <xsl:with-param name = "heading"> A. </xsl:with-param>
               
</xsl:call-template>
               

            

Berkeley DB XML and Stylus Studio

Develop XML applications for Berkeley DBXML with Stylus Studio integrated tools support for SleepyCat Software's DBXML. Open, Query and Save XML to and from Berkeley DB XML directly from within the Stylus Studio XML IDE.

EXSLT Tools

EXSLT support in Stylus Studio lets you extend XSLT 1.0 stylesheets and simplify many tasks including computing dates and times, performing mathematical computations, string manipulations and more.

XML Schema Library

The Stylus Studio XML Schema Library provides a detailed reference of many of the world's most commonly used XML vocabularies in an easy-to-read format.

XML-DEV Discussion Forum

XML-DEV is a leading technical forum for XML discussion and a valuable free XML learning resource. Subscribe to the XML-DEV email discussion forum today to help further your XML education.

Stylus Most Wanted

 
Free Stylus Studio XML Training:
W3C Member