[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: dynamic HTML table generation
The usual solution for grouping into tables relies on something like <xsl:template match="item[position() mod 5 = 1]"/> Variables aren't allowed in the match pattern of a template rule, so you can't parameterise this. So you need a different approach. But the same logic can easily be translated to xsl:for-each. <xsl:param name="cols" select="5"/> <xsl:template match="rs:data"/> <table> <xsl:for-each select="z:row[position() mod $cols = 1]"> <tr> <xsl:for-each select=".|following-sibling::z:row[position() < $cols]"> <td><xsl:value-of select="@product_id"/></td> </xsl:for-each> </tr> </xsl:for-each> </table> </xsl:template> Mike Kay > -----Original Message----- > From: Ireney Berezniak [mailto:iberezniak@xxxxxxx] > Sent: 05 October 2000 20:18 > To: xsl-list@xxxxxxxxxxxxxxxx > Subject: dynamic HTML table generation > > > Hi, > > I have a problem and so far I have been unsuccessful finding > a solution. Any > help you guys could provide would be greatly appreciated. > > I need to format and create an HTML result set table dynamically. > For example, in one instance I have a resultset in XML that > contains 10 > records. I need to have an XSL file which generates a table > with 2 rows and 5 > columns. In another instance, I might have a resultset that > contains 20 > records, and I need to present it in a 5 row by 4 column > table using the same > XSL file. I really want to do this dynamically. I can pass > the desired row and > column count into XSLT file so I know how many rows and > columns I need to > create, but how do I do the looping to achieve this? > > Thanks! > > ib. > > xml sample: > <rs:data> > <z:row Product_Id="98652"/> > <z:row Product_Id="98682"/> > <z:row Product_Id="98718"/> > <z:row Product_Id="104512"/> > <z:row Product_Id="106564"/> > <z:row Product_Id="174272"/> > <z:row Product_Id="175242"/> > <z:row Product_Id="191765"/> > <z:row Product_Id="194131"/> > <z:row Product_Id="194132"/> > </rs:data> > > desired HTML table to be generated dynamically: > <TABLE> > <TR> > <TD></TD> > <TD></TD> > <TD></TD> > <TD></TD> > <TD></TD> > </TR> > <TR> > <TD></TD> > <TD></TD> > <TD></TD> > <TD></TD> > <TD></TD> > </TR> > </TABLE> > > or (depending on the rows/columns required) > > <TABLE> > <TR> > <TD></TD> > <TD></TD> > </TR> > <TR> > <TD></TD> > <TD></TD> > </TR> > <TR> > <TD></TD> > <TD></TD> > </TR> > <TR> > <TD></TD> > <TD></TD> > </TR> > <TR> > <TD></TD> > <TD></TD> > </TR> > </TABLE> > > > ____________________________________________________________________ > Get free email and a permanent address at http://www.amexmail.com/?A=1 > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|