I think this will give you desired output:
Code:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="fieldgroup">
<table>
<xsl:for-each-group select="*"
group-ending-with="*[position() mod 3 = 0]">
<tr>
<xsl:for-each select="current-group()">
<td>
<xsl:apply-templates select="field"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each-group>
</table>
</xsl:template>
</xsl:stylesheet>
Mohan