|
Subject: Re: [xsl] Modes - Necessary Construct or Syntactic Sugar From: Liam R E Quin <liam@xxxxxx> Date: Tue, 19 Mar 2013 21:58:19 -0400 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Modes - Necessary Constru, Michael Kay | Thread | Re: [xsl] Modes - Necessary Constru, Andrew Welch |
| Re: [xsl] 3D XSLT - Experience and , G. Ken Holman | Date | Re: [xsl] Modes - Necessary Constru, Andrew Welch |
| Month |