Using parameters in XSLT

If you've read some of my previous posts, you've seen examples of using parameters when calling templates.
I earlier wrote about assigning XML structures to variables. Now we are going to use a variable as parameter for a template call.

Create the variable and send it as a parameter to your template of choice:

  <!-- Given a structure like this one... -->  
  <xsl:variable name="someVariable">  
  <record>  
  <artist sex="female">Madonna</artist>  
  <title>Like a prair</title>  
  </record>  
  </xsl:variable>  
  <xsl:call-template name="targetTemplate">  
  <xsl:with-param name="string" select="$someVariable" />  
  <xsl:with-param name="attributeString" select="$someVariable/@sex"/>  
 </xsl:call-template name="targetTemplate">  
 </xsl:template>   

Grab the variable and do something that makes sense. ;)

 <xsl:template name="targetTemplate">  
  <xsl:param name="string"/>  
  <xsl:param name="attributeString"/>  
  <!-- do something -->  
  <xsl:if test="contains($attributeString, 'female')">  
   <xsl:value-of select="$string">  
  </xsl:if>  
 </xsl:template>  

Note that the variable can change its name, but the name in the "with-param" and "param" tags must match.

Happy coding! 

Comments

Popular posts from this blog

Power Pages Manifest Explained related to Collaborative Development and ALM

Exploring the Power of Variables in Liquid and Power Pages

Designing and programming - Part 2