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

Re: Extract unique list of attributes ...

Subject: Re: Extract unique list of attributes ...
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Fri, 22 Jul 2005 23:11:41 +0530
xml unique list
This is the Muenchian grouping solution.

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

<xsl:output method="xml" indent="yes" />

<xsl:key name="by-grade" match="student" use="@grade" />

<xsl:template match="/root">
  <root>
    <grades>
      <xsl:for-each select="students/student[generate-id() =
generate-id(key('by-grade', @grade)[1])]">
        <grade level="{@grade}" />
      </xsl:for-each>
    </grades>
    <xsl:copy-of select="students" />
  </root>
</xsl:template>

</xsl:stylesheet>

As Mike has said, you can also use distinct-values() function with a
XSLT 2.0 stylesheet.

Regards,
Mukul

On 7/22/05, Raghupathy S <raghupathy.s@xxxxxxxxx> wrote:
> Hi,
>
> I'm a total newbie to XML / XSl, and I've been stuck with this problem.
> Would be grateful for any suggestions / pointers
>
> The problem -
> Assuming I have an xml file
>
> <root>
> <students>
> <student grade="first">abc</student>
> <student grade="first">def</student>
> <student grade="second">ghi</student>
> <student grade="third">jkl</student>
> <student grade="third">mno</student>
> </students>
> </root>
>
> I need to transform this into the following xml using an XSL
>
> <root>
> <grades>
> <grade level="first"/>
> <grade level="second"/>
> <grade level="third"/>
> </grades>
> <students>
> <student grade="first">abc</student>
> <student grade="first">def</student>
> <student grade="second">ghi</student>
> <student grade="third">jkl</student>
> <student grade="third">mno</student>
> </students>
> </root>
>
>
> I apologize if this is a totally newbie question, but ive been at my
> wits end all day, trying to get this working.
>
> Any advice / help would be most appreciated.
>
> Thanks,
> Rags

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.