This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: grouping data of an xml file
- From: "Joerg Heinicke" <joerg dot heinicke at gmx dot de>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Tue, 9 Apr 2002 01:09:16 +0200
- Subject: Re: [xsl] grouping data of an xml file
- References: <F7R76FLz79C4iSWXKKh0000f0d0@hotmail.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
> Hi i was wondering is it possible to group the data from the xml file?
Of course, have a look at Jeni's page. There you will find a site according
grouping via Muenchian Method
(http://www.jenitennison.com/xslt/grouping/muenchian.xml). You also can
search the archives.
In your case build a key on all books with it's authors:
<xsl:key name="books" match="book" use="head/author"/>
Then apply templates on the first book of every author:
<xsl:template match="Start">
<xsl:apply-templates select="book[ count( . | key( 'books' ,
head/author )[1] ) = 1]" mode="first"/>
</xsl:template>
In this template you can select all books of the author:
<xsl:template match="book" mode="first">
<author><xsl:value-of select="head/author"/></author>
<xsl:apply-templates select="key('books', head/author)"/>
</xsl.template>
<xsl:template match="book">
<title><xsl:value-of select="head/title"/></title>
</xsl:tempate>
Regards,
Joerg
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list