xsl-list
[Top] [All Lists]

RE: [xsl] finding the last element with attribute

2007-02-21 02:14:45
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(_dot_)mukul(_at_)gmail(_dot_)com] 
Sent: 19 February 2007 16:23
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] finding the last element with attribute


On 2/19/07, Robert Walpole 
<robert(_dot_)walpole(_at_)devon(_dot_)gov(_dot_)uk> 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[(_at_)selected = 'selected'] (as Andrew just
pointed).

-- 
Regards,
Mukul Gandhi

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--