Applying templates within a variable

Subject: Applying templates within a variable
From: Iain Huxley <iain@xxxxxxxxxxxxx>
Date: Mon, 13 Mar 2000 22:44:23 -0800
At 11:16 PM 3/13/00 -0500, you wrote:
>Perhaps you are giving us too much information to be able to see clearly
>what you need?  Now it looks to me like you simply want to put a piece
>of output in a variable and pass it into a template as a parameter:

sorry, perhaps you did not notice the rest of my email - I show an example of how I was able to successfully pass content via a variable in a way similar to your example.

However, the problem was that if I have <xsl:apply-templates/> in my variable, the templates do not get applied.

>See the FAQ etc., on RTFs vs. node-sets and the need to use either
>xsl:copy-of or node-set() to get the RTF back out complete with tags.

Everything seems to suggest that <xsl:copy-of $var> is right. After extensive searching, I can find no explanation for why including <xsl:call-templates/> in my variable wouldn't work.

Any other suggestions would be very much appreciated - here's a simplified example:

<xsl:template match="test1">
  <xsl:variable name="var1">
    <xsl:call-template name="foo"/>   <!-- output copied properly -->
    <xsl:value-of select="test2"/>    <!-- output copied properly -->
    <xsl:apply-templates/>            <!-- has no effect !!????   -->
  </xsl:variable>
  <xsl:call-template name="fontstyle">
    <xsl:with-param name="param1" select="$var1"/>
  </xsl:call-template>
</xsl:template>

<xsl:template name="fontstyle">
  <xsl:param name="param1"/>
  <B><xsl:copy-of select="$param1"/></B>
</xsl:template>


Thanks again,


Iain.


//---------------------------------------------------- // Iain Huxley // President // Mindspike Technologies // http://mindspike.com // Ph: (510) 339 7789 //----------------------------------------------------


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



Current Thread