xsl-list
[Top] [All Lists]

RE: [xsl] call-template error

2007-05-28 05:01:35
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>