Hi,
I'm facing an issue with an empty element check using XSLT.Here's my
sample XSLT.I'm checking whether <money> has a value,id yes I'm
printing,else skip.But,even if there's no value or the tag doesn't
exist,the control is getting inside the xsl:if check and printing the
bullets.Any pointers will be appreciated. Here's the xsl I'm using.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each
select="catalog/cd">
<xsl:variable
name="empty_string" select="money"/>
<xsl:if
test="not($empty_string = normalize-space(.))">
<tr>
<td>
<ul>
<li>
<xsl:value-of select="money"/>
</li>
</ul>
</td>
<xsl:value-of select="name()"/>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Here's the sample XML:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<price>
<currency>Pound</currency>
</price>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<price>
<currency>Pound</currency>
</price>
<money>22</money>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<price>
<currency>Pound</currency>
</price>
<money>33</money>
</cd>
<cd>
<artist>John Denver</artist>
<price>50</price>
<money></money>
</cd>
</catalog>
Thanks
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--