This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: sorting the unique elements
- To: xsl-list at mulberrytech dot com
- Subject: Re: sorting the unique elements
- From: Gary L Peskin <garyp at firstech dot com>
- Date: Thu, 07 Sep 2000 09:47:10 -0700
- Organization: The Firstech Corporation
- References: <D1F94D8C7C1FD111A5290020AF92B1B37B62DF@INTRASERVER>
- Reply-To: xsl-list at mulberrytech dot com
David Valera wrote:
> My problem is the following. I have an XML file like this:
>
> <A>
> <D>
> <C/>
> <A><B/></A>
> </D>
> <B/>
> </A>
>
> I would like to generate a sortered output of the unique elements in the XML
> file like this:
>
> ABCD
David --
Does this do what you want?
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="first-id" match="*"
use="generate-id((preceding::* | ancestor::*)[name() =
name(current())])"/>
<xsl:template match="/">
<xsl:apply-templates select="key('first-id', '')">
<xsl:sort select="name()"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="name()"/>
</xsl:template>
</xsl:stylesheet>
Gary
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list