xsl-list
[Top] [All Lists]

Re: [xsl] finding the last element with attribute

2007-02-19 09:13:06
On 2/19/07, Robert Walpole <robert(_dot_)walpole(_at_)devon(_dot_)gov(_dot_)uk> 
wrote:
I am trying to output the string value of the option elements that have
a selected="selected" attribute and separate the output with commas. I
don't want a comma after the last string value that I output. If all of
the option elements had a selected="selected" attribute then I would
expect to get: "East Devon, Exeter, Torbay" - which I do. If only the
first two had a selected="selected" attribute then I would expect to get
"East Devon, Exeter" but instead I get "East Devon, Exeter," so I need
to loose that comma at the end. I need a test to find the last option
element that has a selected="selected" attribute.

Much clearer :) In which case you want this:

<xsl:for-each select="areaserved/district/option[(_at_)selected = 'selected']">
 <xsl:value-of select="."/>
 <xsl:if test="position() != last()">,&#160;</xsl:if>
</xsl:for-each>

Here the predicate has been moved to the select on the for-each, so
that you only select the nodes with @selected = 'selected'.

cheers
andrew

--~------------------------------------------------------------------
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>
--~--