Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Output an element only if it has a value

File: Data.xml <?xml version="1.0" encoding="utf-8"?> <table>   <element> element 1 </element>   <element> element 2 </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>