Nic Miloslav     Example 39    KEYWORDS      EXAMPLES      AUTHORS     

Functions number transforms its argument into a number. Stylesheet 1 demonstrates string conversion, Stylesheet 2 conversion of boolean values true and false.


     XML     HOME     XSL 1     XSL 2      
<xslTutorial >
<text>124</text>
<text>1 2 4</text>
<text>-16</text>
<text>- 16</text>
<text>125.258</text>
<text>125.</text>
<text>ASDF</text>
<text>A123</text>
<text>true</text>
<text>false()</text>
</xslTutorial>

     XSL 1     HOME     XML     HTML 1     OUTPUT 1     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<TABLE border="1">
<TR><TH>text</TH><TH>number</TH></TR>
<xsl:for-each select="//text">
<TR>
<TD><xsl:value-of select="."/></TD>
<TD><xsl:value-of select="number()"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>

     HTML 1     HOME     XML     XSL 1     OUTPUT 1     
<HTML>
<HEAD> </HEAD>
<BODY>
<TABLE border="1">
<TR>
<TH>text</TH>
<TH>number</TH></TR>
<TR>
<TD>124</TD>
<TD>124</TD></TR>
<TR>
<TD>1 2 4</TD>
<TD>NaN</TD></TR>
<TR>
<TD>-16</TD>
<TD>-16</TD></TR>
<TR>
<TD>- 16</TD>
<TD>NaN</TD></TR>
<TR>
<TD>125.258</TD>
<TD>125.258</TD></TR>
<TR>
<TD>125.</TD>
<TD>125</TD></TR>
<TR>
<TD>ASDF</TD>
<TD>NaN</TD></TR>
<TR>
<TD>A123</TD>
<TD>NaN</TD></TR>
<TR>
<TD>true</TD>
<TD>NaN</TD></TR>
<TR>
<TD>false()</TD>
<TD>NaN</TD></TR></TABLE> </BODY> </HTML>

     OUTPUT 1     HOME     XML     XSL 1     HTML 1     
textnumber
124124
1 2 4NaN
-16-16
- 16NaN
125.258125.258
125.125
ASDFNaN
A123NaN
trueNaN
false()NaN

     XSL 2     HOME     XML     HTML 2     OUTPUT 2     
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
<xsl:template match="/">
<TABLE border="1">
<TR><TH>text</TH><TH>number</TH></TR>
<xsl:for-each select="//text[text() = 'true' or text() = 'false()']">
<TR>
<TD><xsl:value-of select="."/></TD>
<TD><xsl:value-of select="number()"/></TD>
</TR>
</xsl:for-each>
</TABLE>
<P><xsl:text> but:</xsl:text> </P>
<TABLE border="1">
<TR><TH>function</TH><TH>number</TH></TR>
<TR>
<TD>true()</TD>
<TD><xsl:value-of select="number(true())"/></TD>
</TR>
<TR>
<TD>false()</TD>
<TD><xsl:value-of select="number(false())"/></TD>
</TR>
<TR>
<TD>5>7</TD>
<TD><xsl:value-of select="number(5 > 7)"/></TD>
</TR>
<TR>
<TD>5&lt;7</TD>
<TD><xsl:value-of select="number(5&lt;7)"/></TD>
</TR>
</TABLE>
</xsl:template>
</xsl:stylesheet>

     HTML 2     HOME     XML     XSL 2     OUTPUT 2     
<HTML>
<HEAD> </HEAD>
<BODY>
<TABLE border="1">
<TR>
<TH>text</TH>
<TH>number</TH></TR>
<TR>
<TD>true</TD>
<TD>NaN</TD></TR>
<TR>
<TD>false()</TD>
<TD>NaN</TD></TR></TABLE>
<P>but:</P>
<TABLE border="1">
<TR>
<TH>function</TH>
<TH>number</TH></TR>
<TR>
<TD>true()</TD>
<TD>1</TD></TR>
<TR>
<TD>false()</TD>
<TD>0</TD></TR>
<TR>
<TD>5&gt;7</TD>
<TD>0</TD></TR>
<TR>
<TD>5&lt;7</TD>
<TD>1</TD></TR></TABLE> </BODY> </HTML>

     OUTPUT 2     HOME     XML     XSL 2     HTML 2     
textnumber
trueNaN
false()NaN

but:

functionnumber
true()1
false()0
5>70
5<71