<td><xsl:apply-templates select="foo"/></td>
<td>bar</td>
Becomes, when <foo> is empty/not present:
<td/>
<td>bar</td>
which is then interpreted as:
<td>
<td>bar</td>
</td>
that is not exactly true.
When <foo> is empty/not present the <td/> is the same as <td></td>,
because the next <td>|<tr>|<table> will close it. The problem is when
you have an empty table that will display as <table/> and put all
following content inside that table. The same with <div>,<span>,<P>,
etc.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list