|
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 |