This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: What is the scope of template variables?


 <xsl:template match="something">
     <xsl:variable name="a" select="XPathExpr"/>
     ........
     <xsl:call-template name="func1"/>
     <xsl:apply-templates select="junk"/>
     .....
 </xsl:template>
 
 <xsl:template name="func1">
     <!-- QUESTION:  Is the variable $a defined in the calling template
 visible to this template? -->
    <!-- Answer: No -->
 </xsl:template>
 
 <xsl:template match="junk">
     <!-- QUESTION:  Is the variable $a defined in the calling template
 visible to this template? -->
    <!-- Answer: No -->
 </xsl:template>
> 
> <Thanks author="Shakeel Mahate"/>

You need to pass the variables in via parameters to make them visible:

<xsl:template match="something">
    <xsl:variable name="a" select="XPathExpr"/>
    ....
    <xsl:call-template name="func1">
        <xsl:with-param name="a" select="$a"/>
    </xsl:call-template>
    <xsl:apply-templates select="junk">
        <xsl:with-param name="a" select="$a"/>
    </xsl:call-template>
</xsl:template>

<xsl:template name="func1">
    <xsl:param name="a"/>
    <!-- $a is now visible to this template -->
</xsl:template>

<xsl:template match="junk">
    <xsl:param name="a"/>
    <!-- $a is now visible to this template -->
</xsl:template>

-- Kurt Cagle


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]