It's only starting a new row because you have placed a <tr> element
around each cell. if you want all three cells on the same row, stick
them all in the same tr:
so don't do this:
<xsl:for-each select="Dictionary/WordDefinition">
<xsl:sort select="Word"/>
<tr bgcolor="#99CCFF"><td><xsl:value-of
select="Word"/></td><td><br/></td></tr>
^^
<xsl:for-each select="Definition">
<tr bgcolor="#99CCAA"><td><br/></td><td><xsl:value-of
select="."/></td></tr>
^^
</xsl:for-each>
</xsl:for-each>
do this:
<xsl:for-each select="Dictionary/WordDefinition">
<xsl:sort select="Word"/>
<tr bgcolor="#99CCFF">
<xsl:for-each select="Definition">
<td>
<xsl:if test="position()=1"><xsl:value-of select="../Word"/><xsl:if>
</td>
<td><xsl:value-of select="."/></td>
</xsl:for-each>
</tr>
</xsl:for-each>
Also you are not generating XSL FO so you can (and should) remove
xmlns:fo="http://www.w3.org/1999/XSL/Format"
from your stylesheet element.
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list