| 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 |
|---|
| text | number |
|---|---|
| 124 | 124 |
| 1 2 4 | NaN |
| -16 | -16 |
| - 16 | NaN |
| 125.258 | 125.258 |
| 125. | 125 |
| ASDF | NaN |
| A123 | NaN |
| true | NaN |
| 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<7</TD> |
| <TD><xsl:value-of select="number(5<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>7</TD> |
| <TD>0</TD></TR> |
| <TR> |
| <TD>5<7</TD> |
| <TD>1</TD></TR></TABLE> </BODY> </HTML> |
| OUTPUT 2 | HOME XML XSL 2 HTML 2 |
|---|
| text | number |
|---|---|
| true | NaN |
| false() | NaN |
but:
| function | number |
|---|---|
| true() | 1 |
| false() | 0 |
| 5>7 | 0 |
| 5<7 | 1 |