xml editor

Supported platforms

Compatible with Windows7 & Mac OS X Snow Leopard

Ready for data server software
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] eliminating duplicates


Subject: Re: [xsl] 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


Current Thread
Keywords
XML Editor | XML Author | WYSIWYG Editors | Schema Editor | XSD Documentation | XSL/XSLT Editor | XQuery | XML Databases | SVN Client
© 2002-2011 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy | This website was created & generated with <oXygen/>®XML Editor