[xsl] xsl grouping problem

Subject: [xsl] xsl grouping problem
From: rj_peterson@xxxxxxxxxxxxx
Date: Tue, 23 Mar 2004 14:03:24 -0600
I have the following xml file that I want to use to create a table with the
values in the format below.  I have some xsl I have been trying but I cant
get the following-sibling to quite work right.  Any suggestions??  Thanks!!

XML
<?xml version="1.0"?>
  <DATABASE>
     <ID>306030300570011572</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>OMCL</SYMBOL>
     <ID>306030300570011573</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>ORCL</SYMBOL>
     <ID>306030300570011571</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>TLCV</SYMBOL>
     <ID>306030300570011572</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>OMCL</SYMBOL>
     <ID>306030300570011573</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>ORCL</SYMBOL>
       .........
     <ID>306030300570011571</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>TLCV</SYMBOL>
     <ID>306030300570011572</ID>
     <TYPE>18</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>OMCL</SYMBOL>
     <ID>306030300570011573</ID>
     <TYPE>18</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>ORCL</SYMBOL>
     <ID>306030300570011571</ID>
     <TYPE>20</TYPE>
     <REP>CKCK</REP>
     <SYMBOL>TLCV</SYMBOL>
  </DATABASE>

XSL
<xsl:variable name="symbol" select="DATABASE/SYMBOL"/>
<xsl:variable name="type" select="DATABASE/TYPE"/>
<xsl:for-each select="DATABASE/ID[position() mod 3 = 1]">
  <xsl:variable name="position" select="position()"/>
  <tr>
     <td>
       <xsl:value-of select="."/>-<xsl:value-of select="$type"/>-
                         <xsl:value-of select="$symbol[$position]"/>
     </td>
     <xsl:for-each select="following-sibling::node()[position() &lt; 3]">
       <td>
          <xsl:value-of select="."/>-<xsl:value-of select="$type"/>-
            <xsl:value-of select="$symbol[$position]"/>
       </td>
     </xsl:for-each>
  </tr>
</xsl:for-each>


Desired html
<table>
     <tr>
       <td>IDVALUE - TYPEVALUE - SYMBOVALUEL</td>
       <td>IDVALUE - TYPEVALUE - SYMBOVALUEL</td>
       <td>IDVALUE - TYPVALUEE - SYMBOVALUEL</td>
     </tr>
     <tr>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
     </tr>
       ...................
     <tr>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
       <td>IDVALUE - TYPEVALUE - SYMBOLVALUE</td>
     </tr>
</table>

Current Thread