|
Subject: [xsl] html table of sorted element names From: Saverio Perugini <sperugin@xxxxxxxxxxxxxxxx> Date: Thu, 30 Oct 2003 23:32:08 -0500 (EST) |
Hello,
I'd like to produce a 4 column HTML table where the
text contained in each <td> element is alphabetically
sorted from cell (1,1) to cell (n,4),
where n is the required number of rows.
The following is an attempt:
<xsl:template match="/db">
<xsl:if test="*[some condition]">
<xsl:variable name="sortedelements">
<xsl:for-each select="*">
<xsl:sort data-type="text" select="name()"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="sortedelementsNodeSet"
select="exsl:node-set($sortedelements)/*"/>
<table>
<xsl:for-each select="$sortedelementsNodeSet[position() mod 4 = 1]">
<tr>
<xsl:for-each select=".|following-sibling::node()[position() < 4]">
<td><xsl:value-of select="name()"/></td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</xsl:if>
</xsl:template>
While this produces a table, not all rows contain four columns, and even
worse, the text contained in the <td>'s is not sorted across all <td>'s.
I am using libxslt, which supports the node-set() exslt function.
Does anyone see what is going wrong here?
Thanks,
Saverio
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Problem using document functi, Narender S chauhan | Thread | [xsl] Re: html table of sorted elem, Dimitre Novatchev |
| [xsl] Problem using document functi, Narender S chauhan | Date | Re: [xsl] xsl:for-each question, Cas Tuyn |
| Month |