Skip to content

XSLT <xsl:with-param>

How to pass parameter values in XSLT using <xsl:with-param> within <xsl:apply-templates> and <xsl:call-template> for dynamic template processing.

XSLT <xsl:with-param>

The <xsl:with-param> element defines the value of a parameter to be passed into a template.

Syntax

<xsl:with-param
	name="name"
	select="expression">
	
	<!-- Content:template -->

</xsl:with-param>

Attributes

Attribute Value Required/Optional Description
name name Required Specifies the name of the parameter
select expression Optional An XPath expression that defines the value of the parameter

Example

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="bookstore/book">
    <xsl:call-template name="show_title">
      <xsl:with-param name="title" select="title"/>
    </xsl:call-template>
  </xsl:for-each>
  </body>
  </html>
</xsl:template>

<xsl:template name="show_title" >
  <xsl:param name="title" />
  <p>Title: <xsl:value-of select="$title"/></p>
</xsl:template>

</xsl:stylesheet>
Navigation