File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<table>
<element> element 1 </element>
<element> element 2 </element>
<element/>
<element/>
<element> element 3</element>
</table>
File: Transform.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="table">
<TABLE BORDER="1">
<xsl:for-each select="element">
<xsl:apply-templates select="."/>
</xsl:for-each>
</TABLE>
</xsl:template>
<xsl:template match="element">
<xsl:variable name="tmp">
<xsl:value-of select="."/>
</xsl:variable>
<xsl:if test="boolean(normalize-space($tmp))">
<TR>
<TD>
<xsl:value-of select="$tmp"/>
</TD>
</TR>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><TABLE BORDER="1"><TR><TD> element 1 </TD></TR><TR><TD> element 2 </TD></TR><TR><TD> element 3</TD></TR></TABLE>
|