xsl-list
[Top] [All Lists]

Re: [xsl] finding the last element with attribute

2007-02-19 07:54:36
On 2/19/07, Robert Walpole <robert(_dot_)walpole(_at_)devon(_dot_)gov(_dot_)uk> 
wrote:
Hi,

I am stuck on a small but annoying problem. I have broken it down into a
couple of test files, the xml as follows...

<?xml version="1.0" encoding="UTF-8"?>
<areaserved>
    <district>
        <option>East Devon</option>
        <option selected="selected" >Exeter</option>
        <option>Torbay</option>
    </district>
</areaserved>

...and the xslt as follows...

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

Basically, in the xml any of the option elements can have a "selected"
attribute with a "selected" value. When I transform the xml I only want
to put out a comma if it is not the last option with a
selected="selected" attribute. At the moment it always puts out a comma
unless it is actually the last option (i.e. Torbay). So with the xml
file as it is it will put out "Exeter,"

Clear as mud, I'm afraid.  Expected output is always really helpful here.

It's good to see local government using XSLT by the way....

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