Assuming you don't know how many columns there are, otherwise there are simpler ways then this XML:<TABLE>
<COLUMN>
<NAME>Labe1</NAME>
<VALUE>Value1</VALUE>
<VALUE>Value2</VALUE>
<VALUE>Value3</VALUE>
</COLUMN>
<COLUMN>
<NAME>Labe2</NAME>
<VALUE>Value11</VALUE>
<VALUE>Value21</VALUE>
<VALUE>Value31</VALUE>
</COLUMN>
</TABLE>
with the XSLT:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table style="border: 2px solid #c0c0c0">
<thead>
<tr>
<xsl:for-each select="*/COLUMN/NAME">
<th>
<xsl:value-of select="." />
</th>
</xsl:for-each>
</tr>
</thead>
<tbody>
<xsl:for-each select="*/COLUMN[1]/VALUE">
<tr>
<xsl:variable name="position" select="position()" />
<xsl:apply-templates select="/*/COLUMN/VALUE[$position]" />
</tr>
</xsl:for-each>
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="VALUE">
<td>
<xsl:value-of select="." />
</td>
</xsl:template>
</xsl:stylesheet>
should get you started.
--
Joe (Microsoft MVP - XML)