Subject: Re: eliminating duplicates
From: Garvin Riensche <g.riensche@xxxxxxx>
Date: Thu, 10 May 2007 23:30:17 +0200
|
Hi Spencer,
Many thanks to you and to everybody else who posted hints or complete
solutions to my problem!
Regards,
Garvin
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
|