Subject: Re: Identifying duplicate nodes within a branch
From: "Mark Peters" <flickrmeister@xxxxxxxxx>
Date: Thu, 13 Nov 2008 11:34:07 -0500
|
Thank you, Michael! That worked perfectly.Whew. I can't tell you how
grateful I am.
Best regards,
Mark
On Thu, Nov 13, 2008 at 9:22 AM, Michael Ludwig <mlu@xxxxxxxxxxxxx> wrote:
> Mark Peters schrieb:
>>
>> Now I'm trying to identify the <column> nodes where duplicate @id
>> values exist. Where there are duplicates, I'd like to include the
>> nodes where the @file value is "doc." But the output should also
>> include the unique column nodes, all of which have a @file value of
>> "dev."
>
> Hi Mark,
>
> the following seems to do the trick:
>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output indent="yes"/>
> <xsl:key name="columns-by-id" match="column" use="@id"/>
>
> <xsl:template match="column[ @file = 'dev' ]">
> <xsl:if test="
> generate-id() =
> generate-id( key( 'columns-by-id', @id)[1])">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()"/>
> </xsl:copy>
> </xsl:if>
> </xsl:template>
>
> <xsl:template match="@*|node()">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()"/>
> </xsl:copy>
> </xsl:template>
> </xsl:stylesheet>
>
> Michael Ludwig
>
>
--
Mark Peters
Senior Technical Writer
Saba Software
|