Subject: [xsl] Trying to pull of a double Muenchian From: Verakso <verakso@xxxxxxxxx> Date: Tue, 28 Feb 2006 15:03:56 +0100 |
I have found various suggestions on this list, and links to more explanatory pages describing the Muenchian technique to sort or group xml data. However, I am trying to do a kind of a double Muenchian, which is to group xml data i two levels. but there must be something i am missing, because it is not working as I expected. The xml is the kind of standard data format: <data> <row> <item name="1">data 1</item> <item name="2">data 2</item> <item name="3">data 3</item> </row> <row> <item name="1">data 1</item> <item name="2">data 2</item> <item name="3">data 3</item> </row> </data> My real xslt look like this: <?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" version="1.0" encoding="ISO-8859-1" indent="yes"/> <!-- V A R I A B L E S --> <xsl:key name="suplier" match="/csv_data_records/record" use="item[2]"/> <xsl:key name="product" match="/csv_data_records/record" use="item[4]"/> <xsl:template match="/"> <book> <xsl:apply-templates/> </book> </xsl:template> <xsl:template match="csv_data_records"> <xsl:for-each select="record[count(. | key('suplier', item[2])[1])=1]"> <chapter> <xsl:attribute name="name"><xsl:value-of select="item[3]"/></xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="item[2]"/></xsl:attribute> <xsl:for-each select="key('suplier', item[2])"> <product> <xsl:attribute name="group"><xsl:value-of select="item[4]"/></xsl:attribute> <xsl:for-each select="key('product', item[4])"> <item> <status> <xsl:value-of select="item[1]"/> </status> <ean> <xsl:value-of select="item[6]"/> </ean> <title> <xsl:value-of select="item[7]"/> </title> </item> </xsl:for-each> </product> </xsl:for-each> </chapter> </xsl:for-each> </xsl:template> </xsl:stylesheet> It seems that I am not getting the second grouping on the items right. They are grouped all right, but they are repeated x times the node item[4]. What have I missed out, or what am I doing wrong here. /Thomas
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] problem with tags, Mikael Petterson \(K | Thread | Re: [xsl] Trying to pull of a doubl, Wendell Piez |
RE: [xsl] problem with tags, Mikael Petterson \(K | Date | [xsl] Job Posting - XSLT programmer, B Tommie Usdin |
Month |