This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: sorting the unique elements


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]