RE: [xsl] get variable value in another template

Subject: RE: [xsl] get variable value in another template
From: cknell@xxxxxxxxxx
Date: Tue, 27 Dec 2005 11:46:43 -0500
Did you get an answer to this?
--
Charles Knell
cknell@xxxxxxxxxx - email



-----Original Message-----
From:     T Uma Shankari <umashankari@xxxxxxxxxxxxxxxxxxxx>
Sent:     Mon, 26 Dec 2005 16:34:07 +0530 (IST)
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject:  [xsl] get variable value in another template


Hello all,


I have assigned a value to variable in one template. While accessing the same variable from another template, i couldn't retrieve that variable value. I tried it a different method but i couldn't get the value. here is my code

Actually i need to replace {sub} tag to <sub> and {/sub} to </sub>

<xsl:template name="globalsubReplace">
  <xsl:param name="outputString"/>
  <xsl:param name="target"/>
  <xsl:param name="replacement"/>
   <xsl:variable name="outputString12">
  <xsl:choose>
    <xsl:when test="contains($outputString,$target)">
      <xsl:value-of select="concat(substring-before($outputString,$target),$replacement)"/>
      <xsl:call-template name="globalsubReplace">
        <xsl:with-param name="outputString" select="substring-after($outputString,$target)"/>
        <xsl:with-param name="target" select="$target"/>
        <xsl:with-param name="replacement" select="$replacement"/>
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$outputString"/>
    </xsl:otherwise>
  </xsl:choose>
 </xsl:variable>
<!--  <xsl:value-of select="$outputString12"/>-->
</xsl:template>



<xsl:template name="globalsubclose">
<xsl:param name="outputString12"/>
<xsl:param name="target1"/>
<xsl:param name="replacement1"/>
<xsl:value-of select="$outputString12"/>
<xsl:variable name="outputString22">
<xsl:choose>
<xsl:when test="contains($outputString12,$target1)">
<xsl:value-of select="concat(substring-before($outputString12,$target1),$replacement1)"/>
<xsl:call-template name="globalsubclose">
<xsl:with-param name="outputString1" select="substring-after($outputString12,$target1)"/>
<xsl:with-param name="target1" select="$target1"/>
<xsl:with-param name="replacement1" select="$replacement1"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$outputString12"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
</xsl:template>



<xsl:template match="opt"> <xsl:call-template name="globalsubReplace"> <xsl:with-param name="outputString" select="."/> <xsl:with-param name="target" select="'{sub}'"/> <xsl:with-param name="replacement" select="'<sub>'"/> </xsl:call-template> <xsl:call-template name="globalsubclose"> <xsl:with-param name="outputString12" select="."/> <xsl:with-param name="target1" select="'{/sub}'"/> <xsl:with-param name="replacement1" select="'</sub>'"/> </xsl:call-template> </xsl:template>


can anyone please tell me the solution for this?


thanks in advance
uma

Current Thread