Ferran, in cases like this I use the following idea: put the first specimen of a group inside a variable and compare it against every new row, if it stays the same, don't print it, if it changes, print it.
Here's an example (which may not be a good one, since I've cut'n'pasted the stylesheet I actually use): <xsl:template match="sql:rowset"> <xsl:for-each select="sql:row"> <xsl:variable name="pos"><xsl:value-of select="position()"/></xsl:variable> <xsl:variable name="seccio-prev"><xsl:value-of select="//sql:row[position()=($pos - 1)]/sql:seccio"/></xsl:variable> <xsl:if test="$seccio-prev != sql:seccio"> <xsl:value-of select="sql:seccio"/> </xsl:if> <xsl:value-of select="sql:subseccio"/> </xsl:for-each> </xsl:template> I hope this helps... Best regards, --------------------------------------------- Luca Morandini GIS Consultant [EMAIL PROTECTED] http://utenti.tripod.it/lmorandini/index.html --------------------------------------------- -----Original Message----- From: Ferran Urgell [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 19, 2002 4:34 PM To: [EMAIL PROTECTED] Subject: Cocoon sql xsl grouping Hi Cocooners!! I've a query into a database, and I'm getting the next results: <?xml version="1.0" encoding="UTF-8" ?> - <page xmlns:sql="http://apache.org/cocoon/SQL/2.0"> - <rowset name="lab" xmlns="http://apache.org/cocoon/SQL/2.0"> - <row> <nprg>90E501815</nprg> <npet>96139468</npet> <fext>19960827</fext> <hext>0000</hext> <servei>PSIQUIATRIA</servei> <origen>PSIQUIATRIA</origen> <solic /> <llit /> - <rowset name="lab1"> - <row> <seccio>HEMATOLOGIA</seccio> - <rowset name="lab2"> - <row> <subseccio>HEMATOL. BIOLOGICA - HEMA</subseccio> <codi>11100-9</codi> <descripcio>VPM</descripcio> <resu>11,1</resu> <unitat>fl</unitat> <vref>(6,0-10,5)</vref> </row> - <row> <subseccio>HEMATOL. BIOLOGICA - HEMA</subseccio> <codi>11100-10</codi> <descripcio>PLAQUETOCRIT</descripcio> <resu>0,20</resu> <unitat>%</unitat> <vref /> </row> - <row> <subseccio>HEMATOL. BIOLOGICA - HEMA</subseccio> <codi>11100-11</codi> <descripcio>PDW</descripcio> <resu>42</resu> <unitat>%</unitat> <vref /> </row> - <row> <subseccio>HEMATOL. BIOLOGICA - HEMA</subseccio> <codi>11101-10</codi> <descripcio>MONOCITS ABSOLUTS</descripcio> <resu>0,57</resu> <unitat>x10E9/l</unitat> <vref>(<0,80)</vref> </row> </rowset> </row> </rowset> </row> </rowset> </page> And after get this sql-xml I would to get the all the information of the xml file, I'm trying to group the <codi> <descripcio> <resu> <unitat> <vref> according to the <subseccio> name... (without duplicates of "subseccio") I'm trying to do this, with the <xsl:key> .... and generate-id(.) but I'm getting some problems.... I would to get something like this: HEMATOLOGIA - HEMATOL. BIOLOGICA - HEMA 11100-9 VPM 11,1 fl (6,0-10,5) - 1100-10 PLAQUETOCRIT 0,20 % 1100-11 PDW 42 % 11101-10 MONOCITS ABSOLUTS 0,57 x10E9/l (<0,80) --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faqs.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>