Subject: RE: [xsl] alternative for modes From: "Peter Billen" <peter@xxxxxxxxxxx> Date: Fri, 13 Feb 2004 00:28:10 +0100 |
Hello, The first template doesn't work: $mode is just a string to know what we want/what we are doing when we are in the <car>-element, nothing more. About the second template: so actually there hasn't changed anything since my 'original example', except the fact that the if-test is moved into the predicate of the xpath-expression, and 3 'new' templates which all matches the element <car>, but each of them has a different mode (green, red and blue). So the condition to see why we are in the <car>-element and the simulation of multiple modes (propagating mode from <streetrace> ==> sorting template ==> <car>) is still there? I'm starting to believe there is no real better solution for this; at least if we are only using XSLT1.0 functions. Thanks for your time, Peter -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Wendell Piez Sent: vrijdag 13 februari 2004 0:06 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] alternative for modes 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@xxxxxxxxxxxxxxxx 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 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] alternative for modes, Wendell Piez | Thread | RE: [xsl] alternative for modes, Wendell Piez |
RE: [xsl] alternative for modes, Wendell Piez | Date | RE: [xsl] alternative for modes, Wendell Piez |
Month |