This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Use FXSL for this (Was: Re: question on calling templates)
- From: Dimitre Novatchev <dnovatchev at yahoo dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Fri, 30 Aug 2002 01:14:53 -0700 (PDT)
- Subject: [xsl] Use FXSL for this (Was: Re: question on calling templates)
- Reply-to: xsl-list at lists dot mulberrytech dot com
--- "Rotkop, Eugene" <Eugene dot Rotkop at gs dot com> wrote:
> Hi,
>
> I was wondering if there is a way to store template name in the
> variable and
> then call template.
> So, the sample XSL would be following:
>
> <xsl:variable name="currentTemplate" select="'test'"/>
> <xsl:call-template name="$currentTemplate"/>
>
> Seems like XSLT does not allow this. Am I using the wrong syntax? Can
> this
> be achieved in any other way?
>
> The reason I am asking about this is that I am trying to use multiple
> templates to create
> header, body and footer for a web page. Header and footer stays the
> same for
> all the pages. However,
> body always changes. If I assign template names to header, footer and
> body,
> I can call them to apply these templates.
> I want to be able to call diffent body templates depending on the
> value
> of a
> variable.
>
> Any help would be appreciated.
>
> Thanks,
> Eugene
Hi Eugene,
What you want to do is possible in another way by using a template
reference to a template (that must match the reference and need not be
named).
This approach is in the base of the whole XSLT 1.0 functional
programming library FXSL.
A number of articles about FXSL and functional programming in XSLT 1.0
are available at:
http://fxsl.sourceforge.net
I'd recommend specifically the first and second article (in that
order), which introduce the most basic concepts of higher-order
functions and provide the implementation of the most generic design
patterns -- folds (primitive recursion) over lists, strings and trees,
maps, iteration, currying and partial application.
The FXSL library contains useful functions for:
- calculating various math functions and their inverse (e.g.
trigonometric, hyperb.trigonometric, exponential, logarithmic,... etc)
and for solving equations of one real variable, numerical
differentiation and integration.
- random number generator, generating numbers according to
pre-defined distribution, randomising a list.
- various text-processing -- tokenizing, text justification, spelling
checking/correction and generation of close words.
The FXSL library has three different editions, which support MSXML,
XALAN and SAXON. It can be downloaded at:
http://sourceforge.net/projects/fxsl/
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list