RE: finding the last element with attribute
Thanks Andrew and Mukul. This does exactly what I expected now. I should've realised that a predicate would be more effective than using <xsl:if/> to find the required nodes. Cheers Rob > -----Original Message----- > From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] > Sent: 19 February 2007 16:23 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: finding the last element with attribute > > > On 2/19/07, Robert Walpole <robert.walpole@xxxxxxxxxxxx> wrote: > > <?xml version="1.0" encoding="UTF-8"?> > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > version="2.0"> > > <xsl:template match="/"> > > <xsl:for-each select="areaserved/district/option"> > > <xsl:if test="./@selected = 'selected'"> > > <xsl:value-of select="."/> > > <xsl:if test="position() != last()">, </xsl:if> > > </xsl:if> > > </xsl:for-each> > > </xsl:template> > > </xsl:stylesheet> > > I believe, Andrew's suggestion would work for you. The error in above > logic is - position() & last() are referring to 'position' and 'last' > of node-set formed by areaserved/district/option, and not > areaserved/district/option[@selected = 'selected'] (as Andrew just > pointed). > > -- > Regards, > Mukul Gandhi
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format