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


Hi David,

> I realise this has been asked a few times now, but after reading all the
> FAQ's there are about XSLT and trying all kinds of codes I give up...

I think you should read this:
http://www.jenitennison.com/xslt/grouping/muenchian.html

> 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

Applying the described approach (the muenchian method) I get the following 
stylesheet:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="elements" match="*" use="name()" />

<xsl:template match="/">
   <xsl:for-each select="//*[generate-id() = 
                             generate-id(key('elements',name())[1])]">
      <xsl:sort select="name()" />
      <xsl:value-of select="name()" />
   </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

Have fun,
Oliver


/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@informatik.hu-berlin.de             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


 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]