Subject: RE: [xsl] finding the last element with attribute From: "Robert Walpole" <robert.walpole@xxxxxxxxxxxx> Date: Mon, 19 Feb 2007 16:02:32 -0000 |
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. Thanks Rob > -----Original Message----- > From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx] > Sent: 19 February 2007 14:54 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] finding the last element with attribute > > > On 2/19/07, Robert Walpole <robert.walpole@xxxxxxxxxxxx> 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()">, </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....
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] finding the last element , Mukul Gandhi | Thread | Re: [xsl] finding the last element , Andrew Welch |
Re: [xsl] XHTML html validation, Braumüller, Hans | Date | Re: [xsl] XHTML html validation, M. David Peterson |
Month |