Subject: RE: returning distinct results
From: Bryan Tulloch <b.tulloch@xxxxxxxxxxxxx>
Date: Thu, 30 Aug 2001 16:32:08 +0100
|
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: 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
| Current Thread |
- returning distinct results
- Tim - Thu, 30 Aug 2001 08:00:22 -0400 (EDT)
- <Possible follow-ups>
- Bryan Tulloch - Thu, 30 Aug 2001 11:44:07 -0400 (EDT) <=
- Tim - Thu, 30 Aug 2001 12:37:37 -0400 (EDT)
|
|