[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] dynamic template naming XSL1.0 and Saxon 6.5.5
Subject: RE: [xsl] dynamic template naming XSL1.0 and Saxon 6.5.5 From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Mon, 19 Jun 2006 09:38:13 +0100 |
Saxon in fact has an extension element saxon:call-template which is like xsl:call-template except that the "name" attribute is an AVT. You don't need saxon:evaluate with this, just write <saxon:call-template name="{$testVar/Configuration/Execute/@template}"/> It's always better, of course, to work without extensions if you can. You might like to look at Dimitre Novatchev's FXSL technique, which exploits the ability of xsl:apply-templates to do dynamic dispatch. Rather than having a variable holding the name of a template to be invoked, you have a variable holding a node, typically a node with a unique name in some special namespace; and then you do apply-templates on that node. By putting different nodes in the variable, you can then cause different templates to be invoked. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: news@xxxxxxxxxxx [mailto:news@xxxxxxxxxxx] > Sent: 19 June 2006 08:34 > To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' > Subject: [xsl] dynamic template naming XSL1.0 and Saxon 6.5.5 > > Hello List, > > I want to call templates dynamicly. With dynamicly I mean, > that the templates name is determined at runtime. > I doing this with xPathes stored in variables and the > saxon:evaluate function allready, and it works pretty fine. > For instance. I have a variable with an stored string that I > want to be the templates name that should be executed. > <xsl:variable name="testVar"> > <Configuration> > <Execute template="templateName"/> > </Configuration> > </xsl:variable> > > If I try > <xsl:call-template > name="{saxon:evaluate($testVar/Configuration/Execute/@template)}"/> > > I want a template with the name of 'templateName' to be executed. > <xsl:template name="temlpateName"> > ... > </xsl:template> > > I ll get a error message saying that the name of the called > template must be a valid Qname. :( > > Does anyboy know how I could solve my problem? > > Thanks & with best regards, > Jan
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] dynamic template naming X, andrew welch | Thread | Re: [xsl] dynamic template naming X, Dimitre Novatchev |
Re: [xsl] dynamic template naming X, andrew welch | Date | [xsl] Managing namespaces ... again, Georg Hohmann |
Month |