Subject: Re: [xsl] match on attribute anywhere From: Trevor Nash <tcn@xxxxxxxxxxxxx> Date: Thu, 14 Feb 2002 10:51:52 +0000 |
Here is another one, really the same process but substituting for-each in place of the extra mode. In your existing templates, replace all occurences of <xsl:apply-templates /> by <xsl:call-template name="do-children" /> then: <xsl:template name="do-children"> <xsl:for-each select="node()"> <xsl:choose> <xsl:when test="@mark='1'"> <span style="color:#FF0000"> <xsl:apply-templates select="." /> </span> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="." /> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> I'm not sure I like this one as much: if you have anything except a plain xsl:apply-templates (for example you want to select just some of the children) you end up having to write another template like the one above, because you cannot pass the select expression in as a parameter (without using an extension function like 'evaluate'). Let me know when you find a solution you like, then I will shut up ;-) Regards, Trevor Nash -- Traditional training & distance learning, Consultancy by email Melvaig Software Engineering Limited voice: +44 (0) 1445 771 271 email: tcn@xxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] match on attribute anywhe, Trevor Nash | Thread | RE: [xsl] match on attribute anywhe, Bryan Rasmussen |
RE: [xsl] determining position of a, Bryan Rasmussen | Date | [xsl] alternate row color in a tabl, Sébastien Tisserant |
Month |