do I understand that you want pargarphs in bunches of 6 set out like
1 x 4
2 x 5
3 x 6
8 x 10
8 x 11
9 x 12
If so you want something like
<xsl:template match="body">
<xsl:for-each select="paragraph[position() = 1 mod 6]">
<table>
<tr>
<td><xsl:apply-templates select="."/></td>
<td></td>
<td><xsl:apply-templates select="following-sibling::paragraph[3]"/></td>
</tr>
<tr>
<td><xsl:apply-templates select="following-sibling::paragraph[1]"/></td>
<td></td>
<td><xsl:apply-templates select="following-sibling::paragraph[4]"/></td>
</tr>
<tr>
<td><xsl:apply-templates select="following-sibling::paragraph[2]"/></td>
<td></td>
<td><xsl:apply-templates select="following-sibling::paragraph[5]"/></td>
</tr>
</table>
</xsl:for-each>
</xsl:template>
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list