Hi,
Thank you Vyacheslav.
That is a solution.
Shouldn't it be part of the standard and shouldn't it also be available
for the mode parameter/attribute of <apply-templates/>?
Is that part of proposed changes for XSLT v2.1?
Thanks.
Cheers,
ac
http://www.saxonica.com/documentation9.2/extensions/instructions/call-template.html
On Mon, Sep 7, 2009 at 10:06 AM, ac<ac(_at_)hyperbase(_dot_)com> wrote:
Hi,
Is there, or shouldn't there be, a way to invoke templates dynamically as
in:
<xsl:apply-templates mode="$mode"/> or
<xsl:call-template name="$name"/>
rather than :
<xsl:choose>
<xsl:when test="$mode eq 'mode1'"><xsl:apply-templates mode="mode1"/>
<xsl:when test="$mode eq 'mode2'"><xsl:apply-templates mode="mode2"/>
<xsl:when test="$mode eq 'mode3'"><xsl:apply-templates mode="mode3"/>
...
</xsl:choose>
or
<xsl:choose>
<xsl:when test="$mode eq 'mode1'"><xsl:call-template name="name1"/>
<xsl:when test="$mode eq 'mode2'"><xsl:call-template name="name2"/>
<xsl:when test="$mode eq 'mode3'"><xsl:call-template name="name3"/>
...
</xsl:choose>
as the <xsl:choose/> seems clumsy, verbose, repetitive, error-prone, and
counter productive,
especially when also passing invocation parameters (<xsl:with-param .../>) ?
A sample use case may be letting a user select in which mode she wishes to
run a process, payroll for example, in trial, debug, report, post, archive,
or purge modes.
Thanks,
ac
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--