Subject: RE: [xsl] quick table layout problem From: Jarno.Elovirta@xxxxxxxxx Date: Mon, 7 Jan 2002 14:46:29 +0200 |
Hi > Below is the xml for a table. Its a huge amount of code for > a very small > amount of data... but thats beside the point (I have no > control over the > input) What I need is the table to be drawn using the widths > specified by > the colwidth attributes of the colspec. Use <xsl:template name="tableHead"> <xsl:for-each select="//table//thead//entry"> <col width="{ancestor::colspec[@colname = current()/@colname][1]/@colwidth}" /> </xsl:for-each> <xsl:for-each select="//table//thead//entry"> <th> <xsl:value-of select="."/> </th> </xsl:for-each> </xsl:template> It should output col elements with the specified width attribute. It's really un-efficient way of doing it because of all the the //s , so you should probably rewrite it so that it will only have to go throught the entry elements once. Also, match pattern such as "//tbody/row[position() mod 2 = 0]" would probably be better rewritten to something like "tbody/row[position() mod 2 = 0]" - better yet, <xsl:template match="row"> <tr> <xsl:for-each select="entry"> <td> <xsl:if test="position() mod 2 = 0"> <xsl:attribute name="class">table_row_color</xsl:attribute> </xsl:if> <xsl:value-of select="."/> </td> </xsl:for-each> </tr> </xsl:template> Hope this helps, Santtu XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] quick table layout problem, Andrew Welch | Thread | RE: [xsl] quick table layout proble, Andrew Welch |
Re: [xsl] the problem with include , David Carlisle | Date | RE: [xsl] quick table layout proble, Jarno . Elovirta |
Month |