Re: [xsl] eliminating duplicates

Subject: Re: [xsl] eliminating duplicates
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Thu, 10 May 2007 13:56:37 -0700
Hi Garvin,

if your using xslt 2.0 it's pretty easy:

	<xsl:for-each-group select="//edge" group-by="@source">
		<xsl:for-each-group select="current-group()" group-by="@target">
			<xsl:copy>
				<xsl:copy-of select="@*"/>
			</xsl:copy>
		</xsl:for-each-group>
	</xsl:for-each-group>

if your using 1.0 you may have to wait for someone with more knowledge of keys.

Spencer

On 5/10/07, Steve <subsume@xxxxxxxxx> wrote:
On 5/10/07, Garvin Riensche <g.riensche@xxxxxxx> wrote:
> If there was only one attribute, lets say "source" it would be simple:
> <xsl:for-each
> select="//edge[not(./@source=preceding-sibling::edge/@source)]">
>    <xsl:copy-of select="."/>
> </xsl:for-each>

That wouldn't really work either. That would just assure you didn't
spit out a duplicate of the preceding record.

Someone will surely followup with more comprehensive suggestions about
xsl:key. I'd research it until then. =)

-Steve

Current Thread