RE: [xsl] get variable value in another template

Subject: RE: [xsl] get variable value in another template
From: T Uma Shankari <umashankari@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 28 Dec 2005 08:39:13 +0530 (IST)
No, I didn't.

On Tue, 27 Dec 2005 cknell@xxxxxxxxxx wrote:

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