Hi Peter,
At 05:31 PM 2/12/2004, you wrote:
<xsl:template match="car">
<xsl:param name="mode"/>
<xsl:if test="$mode = 'blue'">
<font color="blue"><xsl:value-of select="."/></font><br/>
</xsl:if>
<xsl:if test="$mode = 'red'">
<font color="red"><xsl:value-of select="."/></font><br/>
</xsl:if>
</xsl:template>
Well if it were this simple we'd be in business. This could be:
<xsl:template match="car">
<xsl:param name="mode"/>
<font color="{$mode}">
<xsl:value-of select="."/>
</font>
</xsl:template>
... but somehow I don't think this reflects your real problem. You might
however be able to do
<xsl:template match="car">
<xsl:param name="mode"/>
<xsl:apply-templates select="node()[$mode='blue'] mode="blue"/>
<xsl:apply-templates select="node()[$mode='red'] mode="red"/>
<xsl:apply-templates select="node()[$mode='green'] mode="green"/>
</xsl:template>
(Or use self::node()[$mode='blue'] to select the car, not its children, for
the blue mode.)
This will work if you know in advance how many modes you have and what
their names are. See, the conditional in a predicate can be anything; it
doesn't necessarily have to relate to its context node directly.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list