Re: [xsl] XML transformation based on parameters

Subject: Re: [xsl] XML transformation based on parameters
From: "Sam Byland" <shbyland@xxxxxxxxxxx>
Date: Tue, 14 Apr 2009 11:53:20 -0400
Emiliano,

if you're limited to XSLT1, then try matching on "param" and place the code associated with "@name = $p" in the template body. Something like:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 <xsl:param name="p" select="id"/>
 <xsl:param name="v" select="newvalue"/>

 <xsl:template match="@* | node()">
   <xsl:copy>
     <xsl:apply-templates select="@* | node()"/>
   </xsl:copy>
 </xsl:template>

<xsl:template match="param">

   <xsl:choose>
     <xsl:when test="@name = $p">
       <xsl:value-of select="$v"/>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="."/>
     </xsl:otherwise>
   </xsl:choose>

</xsl:template>

</xsl:stylesheet>

...sam

Current Thread