The name of a template being called must be a fixed string, just as when you
call a function or method in languages like C or Java. Variables can only be
used in XPath expressions, and the name attribute of call-template is not an
XPath expression.
You can often achieve a dynamic call by using apply-templates to some
suitable node.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Vaduvoiu Tiberiu [mailto:vaduvoiutibi(_at_)yahoo(_dot_)com]
Sent: 28 May 2007 11:24
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] call-template error
On my site I have a couple of categories/menus. Each time
you're in a category it loads a different template(content) I
have a parameter $menu which has the value of the name of the
menu you are at on the site. So until now I had something like this:
<xsl:if test="$menu= sport">
<xsl:call-template name="toolbox_sport"></xsl:call-template>
</xsl:if>
<xsl:if test="$menu= 'news">
<xsl:call-template name="toolbox_news"></xsl:call-template>
</xsl:if>
<xsl:if test="$menu= recent">
<xsl:call-template name="toolbox_recent"></xsl:call-template>
</xsl:if>
<xsl:if test="$menu= test">
<xsl:call-template name="toolbox_test"></xsl:call-template>
</xsl:if>
like this, it works. But then I though of making it more
simple like this:
<xsl:call-template name="toolbox_$menu"></xsl:call-template>
so basically it should only loads the template of the
selected menu. Thing is it doesn't work..I get
java.util.EmptyStackException:
I also tried creating a variable
<xsl:variable name="tool">toolbox_<xsl:value-of
select="$menu"/></xsl:variable> and then calling the template
with the name="$tool"..also doesn't work. So why doesn't he
load it?? 10x
______________________________________________________________
______________________Take the Internet to Go: Yahoo!Go puts
the Internet in your pocket: mail, news, photos & more.
http://mobile.yahoo.com/go?refer=1GNXIC
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--