A <xsl:param> can occur at either the top level or as the first child of a <xsl:template>. It is similar to a <xsl:variable>, but its value may be changed by the calling template or stylesheet environment.

This is analagous to the concept of subroutine parameters in a more traditional programming language.

  name = qname 
  select = expression>
  <!-- Content: template -->

The name of the parameter


Selects the parameter content, if present, otherwise the element content is used