[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Interesting : Selecting unique value of an attribute

Subject: Re: Interesting : Selecting unique value of an attribute
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 23 Aug 2000 16:00:16 +0200 (MET DST)
unique values index
Hi Paul,

> If I have, let say, a lot of empty elements "index" with a "entry" 
> attribute, and what I want to print is a sorted list of all the value entry 
> have in the document, but without having twice the same value ?
> 
> <index entry="thing"/> blablabla <index entry="stuff"/> blabla <index 
> entry="this"/>
> bliblabla<index entry="thing"/> bla bli bla<index entry="this"/> bli <index 
> entry="stuff"/>
> <index entry="thing"/>and bla and bli <index entry="stuff"/>
> 
> and I want to get:
> stuff
> thing
> this

Something like this:
Define a key for every @entry of index:

<xsl:key name="paul" match="index" use="@entry" />

Then walk through your index elements and choose only the first of
each group (i.e. each key)
<xsl:for-each select="index[generate-id()=generate-id(key('paul',@entry)[1])]">

now you have unique entries which need to be sorted:
<xsl:sort select="@entry" />

Ok - here you are! Output, and that's all:
<xsl:value-of select="@entry" />

The complete template is
<xsl:template match="paul">
   <xsl:for-each
        select="index[generate-id()=generate-id(key('paul',@entry)[1])]">
      <xsl:sort select="@entry" />
      <xsl:value-of select="@entry" />
      <xsl:text>&#xA;</xsl:text>
   </xsl:for-each>
</xsl:template>

(Assuming your XML snipped is nested in a paul element ;-) )

Salut,
Oliver


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


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.