Re: [xsl] finding the last element with attribute

Subject: Re: [xsl] finding the last element with attribute
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 19 Feb 2007 21:52:34 +0530
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()">,&#160;</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

Current Thread