Subject: RE: [xsl] returning distinct results From: "Tim" <xsl@xxxxxxxxxxxxxx> Date: 30 Aug 2001 16:32:05 -0000 |
Thanks Bryan, that's what I needed. Just added /text() : select="//town[not(./text()=preceding::town/text())] and it worked. Thanks again, Tim. > > Tim, > > Try select="//town[not(.=preceding::town)]" as your select > statement > > Bryan > > -----Original Message----- > From: Tim [mailto:xsl@xxxxxxxxxxxxxx] > Sent: Thursday, August 30, 2001 12:55 PM > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] returning distinct results > > > Hi, > > I have a list of branches some of which are in the same town. I would > like to generate some html to display just the list of towns in a two > column list. I have the columns working but I can't work out how to > remove duplicate towns. > > I am trying to order by town name and see if the previous name matches > the current but the //town[position()-1] returns an empty set. > > Any ideas would be great. > > Ta, > Tim. > > Example XML: > <branches> > <branch> > <name>A branch</name> > <town>Aberdeen</town> > </branch> > <branch> > <name>Another branch</name> > <town>Aberdeen</town> > </branch> > <branch> > <name>Yet Another branch</name> > <town>Bournemouth</town> > </branch> > </branches> > > XSL: > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:fo="http://www.w3.org/1999/XSL/Format"> > <xsl:template match="/"> > <xsl:call-template name="alltowns"/> > </xsl:template> > > <xsl:template name="alltowns"> > <xsl:variable name="t-size" select="count(//town)"/> > <xsl:variable name="half" select="ceiling($t-size div > 2)"/> > <table> > <tr> > <td> > <ul> > > <xsl:for-each select="//town[position() <= > $half]"> > <xsl:if test="position() = 1 | //town > [position()-1]/text() != ./text()"> > <li><a><xsl:attribute > name="href">locationDetails.jsp?town=<xsl:value-of > select="."/></xsl:attribute><xsl:value-of select="."/></a></li> > </xsl:if> > </xsl:for-each> > </ul> > </td> > <td> > <ul> > <xsl:for-each select="//town[position() > > $half]"> > <li><a><xsl:attribute > name="href">locationDetails.jsp?town=<xsl:value-of > select="."/></xsl:attribute><xsl:value-of select="."/></a></li> > </xsl:for-each> > </ul> > </td> > </tr> > </table> > </xsl:template> > </xsl:stylesheet> > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] returning distinct result, Bryan Tulloch | Thread | [xsl] Match prefix, Victor Weike Xin (Ho |
RE: [xsl] Very Simple Mathematical , Chris Bayes | Date | Re: [xsl] xsl:sort - sorting outlin, Thomas B. Passin |
Month |