On Tue, 2013-03-19 at 08:58 +0000, Ihe Onwuka wrote:
Suppose there was a genuine use case for modes. By genuine I mean the
transform requires me to process the same nodes more than once and in
different ways.
Can I do this without using modes.
Yes, but not in he way you describe, and not easily.
For example, you can pass a parameter to every template and have the
contents of every template wrapped inside an xsl:choose. Essentially you
end up duplicating the mode mechanism of apply-templates, though, with a
lot of inconvenience. Here's a snippet of one possible approach.
<xsl:template name="title">
<xsl:param name="mode" select=" 'default' " as="xs:string" />
<xsl:choose test="$mode eq 'index'>
. . .
</xsl:choose>
<xsl:otherwise>
<xsl:call-template name="process-contents">
<xsl:with-param name="input" select="node()" />
<xsl:with-param name="mode" select="$mode" />
</xsl:call-template>
</xsl:otherwise>
</xsl:template>
and so on.
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org freenode/#xml
--~------------------------------------------------------------------
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>
--~--