Friday, December 9, 2011

XSLT - Numeric Checking

Hi Friends,

Here I would like to say about XSLT programming.
The example mentioned below is for finding the numeric values contained in an xml file.

For testing this example you need two files.

1. XML file its name should be "Numbers.xml"
2. XSL file its name should be "NumberCheck.xsl"

Copy these files to a folder and open the xml file in a browser.

"Numbers.xml"
---------------------
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="NumberCheck.xsl" ?>
<Numbers>
<Number>
<Value>11</Value>
</Number>
<Number>
<Value>12</Value>
</Number>
<Number>
<Value>DD</Value>
</Number>
<Number>
<Value>23</Value>
</Number>
<Number>
<Value>33</Value>
</Number>
<Number>
<Value>FF</Value>
</Number>
<Number>
<Value>VV</Value>
</Number>
</Numbers>

"NumberCheck.xsl"
---------------------------
<?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="Numbers">
<TABLE>
<xsl:for-each select="Number">
<xsl:choose>
<xsl:when test='number(Value)'>
<TR>
<TD>
I am a numeric value : <xsl:value-of select="Value" />
</TD>
</TR>
</xsl:when>
<xsl:otherwise>
<TR>
<TD>
I am not a numeric value : <xsl:value-of select="Value" />
</TD>
</TR>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>

In this example the xslt function <xsl:when test='number(Value)'> will help you to find the given value is a numeric or not

its out put will be like this

I am a numeric value : 11
I am a numeric value : 12
I am not a numeric value : DD
I am a numeric value : 23
I am a numeric value : 33
I am not a numeric value : FF
I am not a numeric value : VV