This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Selecting the correct column value
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Selecting the correct column value
- From: Francis Norton <francis at redrice dot com>
- Date: Tue, 19 Dec 2000 13:19:04 +0000
- References: <F214oYAPNXRPmcarcR400002ed7@hotmail.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Koetje Boe wrote:
>
>
> The goal is just to show the data in a table. The problem I have is that the
> column values don`t always have the same order in the rows. So what I want
> to do is:
> for each row(i):
> for each columnInfo(j):
> select the column from row i which corresponds to the columninfo j`s
> name.
>
here is a transform based on your pseudo-code - this is very "pull"
based, you could equally do a "push" based one using apply-templates /
template match="" rather than for-each.
Francis.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<table>
<xsl:for-each select="/dataset/data/row">
<xsl:variable name="row" select="."/>
<tr>
<xsl:for-each select="/dataset/metadata/columnInfo">
<td>
<xsl:value-of select="$row/column[@name =
current()/@name]"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list