xsl-list
[Top] [All Lists]

[xsl] Problem with empty element check !

2006-07-10 14:33:42
 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>
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] Problem with empty element check !, Shamik Bandopadhyay -X \(sbandopa - TCS at Cisco\) <=