Subject: Re: [xsl] Combining templates with different modes From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Thu, 1 Nov 2001 17:11:59 +0000 |
Hi Matt, > That is, could I end up with two templates that look something like: > <xsl:template match="node()|@*" mode="modify | delete"> > <xsl:copy><xsl:apply-templates select="node()|@*" mode="**THE VALUE OF THIS MODE**"/>></xsl:copy> > </xsl:template> > <xsl:template match="@Action" mode="modify | delete"> > <xsl:choose> > <if>mode = modify<xsl:attribute name="Action">M</xsl:attribute></if> > <else><xsl:attribute name="Action">D</xsl:attribute></else> > </xsl:choose> > </xsl:template> No. If you want to do the same thing in both contexts, but keep track of what the context is, you're better off using a $mode parameter to pass the context around: <xsl:template match="node()|@*"> <xsl:param name="mode" /> <xsl:copy> <xsl:apply-templates select="node()|@*"> <xsl:with-param name="mode" select="$mode" /> </xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="@Action"> <xsl:param name="mode" /> <xsl:attribute name="Action"> <xsl:choose> <xsl:when test="$mode = 'modify'">M</xsl:when> <xsl:otherwise>D</xsl:otherwise> </xsl:choose> </xsl:attribute> </xsl:template> I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Combining templates with diff, mjyoungblut | Thread | Re: [xsl] XSL-FO to Pagemaker, Mike Haarman |
Re: [xsl] XSL-FO to Pagemaker, Mike Haarman | Date | [xsl] dynamic # of columns and colu, L Rutker |
Month |