Subject: RE: [xsl] making grandparents of grandchildren From: Jarno.Elovirta@xxxxxxxxx Date: Thu, 10 Jan 2002 17:21:11 +0200 |
> What I tried for some time to achieve in vain, is group paintings > belonging to same owners under their names sorted and add author names > to each picture in the list. Would really appreciate your help (or our > exhibition in Madrid will have to be postponed :). How about <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" encoding="ISO-8859-1" /> <xsl:key name="owner" match="owner" use="." /> <xsl:key name="picture" match="picture" use="owner" /> <!-- this should match the parent of authorgroup elements--> <xsl:template match="foo"> <!-- get unique owners --> <xsl:apply-templates select="authorgroup/picture/owner[generate-id(.) = generate-id(key('owner', .))]" mode="sort"> <xsl:sort select="." /> </xsl:apply-templates> </xsl:template> <xsl:template match="owner" mode="sort"> <ownergroup> <name> <xsl:value-of select="." /> </name> <!-- list pictures by this owner--> <xsl:apply-templates select="key('picture', .)" /> </ownergroup> </xsl:template> <xsl:template match="picture"> <xsl:copy> <author> <xsl:value-of select="ancestor::authorgroup[1]/name" /> </author> <xsl:apply-templates select="*[not(self::owner)]" /> </xsl:copy> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> It's the fourth Monday of this week, so I wouldn't be surprised if it didn't work - Anyhow, it should generate <ownergroup> <name></name> <picture> <author></author> <title></title> <inv><inv> </picture> <picture> ... </picture> </ownergroup> <ownergroup> ... </ownergroup> Santtu XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] making grandparents of gr, Michael Kay | Thread | [xsl] xpath, Maneshi Tuli |
Re: [xsl] use cases for d-o-e, Elliotte Rusty Harol | Date | RE: [xsl] xpath, Jarno . Elovirta |
Month |