xsl-list
[Top] [All Lists]

Re: Variable scope when using imported stylesheets

2004-08-24 13:53:07
Ralph,

At 10:47 AM 8/24/2004, you wrote:
I think what I can do is to declare the variables within the imported template and thus get my abbreviation:

<xsl:template>
 <xsl:for-each select="baseDboFileReference">
   <xsl:call-template name="calledOne" />
 </xsl:for-each>
</xsl:template>

<xsl:template name="calledOne">
  <xsl:variable name="runOutOfIdeas" select="FileRefEval" />
  [siblings]
</xsl:template>

Yes, but this could as well be:

<xsl:template match="  ">
 <xsl:apply-templates select="baseDboFileReference"/>
</xsl:template>

<xsl:template match="baseDboFileReference">
  <xsl:variable name="runOutOfIdeas" select="FileRefEval" />
  [siblings]
</xsl:template>

In other situations (in a situation where you might actually want to call a named template, not just apply templates), you might want to pass the value in from the calling template. In this case you'd use a parameter, not a variable.

Cheers,
Wendell

___&&__&_&___&_&__&&&__&_&__&__&&____&&_&___&__&_&&_____&__&__&&_____&_&&_
    "Thus I make my own use of the telegraph, without consulting
     the directors, like the sparrows, which I perceive use it
extensively for a perch." -- Thoreau