Nic Miloslav Example 40 | KEYWORDS EXAMPLES AUTHORS |
---|
In Stylesheet 1 strings are arguments of boolean() function. A string is true if and only if its length is non-zero. In Stylesheet 2 is text transformed into numbers and then subjected to boolean() function. Stylesheet 3 compares "0" as a string and as a number.Stylesheet 4 uses node-sets as arguments for boolean() function.
XML | HOME XSL 1 XSL 2 XSL 3 XSL 4 |
---|
<xslTutorial > |
<text>124</text> |
<text>AB234</text> |
<text>-16</text> |
<text>0</text> |
<text></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>boolean</TH></TR> |
<xsl:for-each select="//text"> |
<TR> |
<TD><xsl:value-of select="."/> |
<xsl:text> </xsl:text> |
</TD> |
<TD><xsl:value-of select="boolean(text())"/></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>boolean</TH></TR> |
<TR> |
<TD>124 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD>AB234 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD>-16 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD>0 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD> </TD> |
<TD>false</TD></TR> |
<TR> |
<TD>false </TD> |
<TD>true</TD></TR></TABLE> </BODY> </HTML> |
OUTPUT 1 | HOME XML XSL 1 HTML 1 |
---|
text | boolean |
---|---|
124 | true |
AB234 | true |
-16 | true |
0 | true |
false | |
false | true |
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><TH>boolean</TH></TR> |
<xsl:for-each select="//text"> |
<TR> |
<TD><xsl:value-of select="."/> |
<xsl:text> </xsl:text> |
</TD> |
<TD><xsl:value-of select="number(text())"/> |
<xsl:text> </xsl:text> |
</TD> |
<TD><xsl:value-of select="boolean(number(text()))"/></TD> |
</TR> |
</xsl:for-each> |
</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> |
<TH>boolean</TH></TR> |
<TR> |
<TD>124 </TD> |
<TD>124 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD>AB234 </TD> |
<TD>NaN </TD> |
<TD>false</TD></TR> |
<TR> |
<TD>-16 </TD> |
<TD>-16 </TD> |
<TD>true</TD></TR> |
<TR> |
<TD>0 </TD> |
<TD>0 </TD> |
<TD>false</TD></TR> |
<TR> |
<TD> </TD> |
<TD>NaN </TD> |
<TD>false</TD></TR> |
<TR> |
<TD>false </TD> |
<TD>NaN </TD> |
<TD>false</TD></TR></TABLE> </BODY> </HTML> |
OUTPUT 2 | HOME XML XSL 2 HTML 2 |
---|
text | number | boolean |
---|---|---|
124 | 124 | true |
AB234 | NaN | false |
-16 | -16 | true |
0 | 0 | false |
NaN | false | |
false | NaN | false |
XSL 3 | HOME XML HTML 3 OUTPUT 3 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > |
<xsl:template match="/"> |
<P> |
<xsl:text> The boolean value of "0" is </xsl:text> |
<B><xsl:value-of select="boolean(//text[text()='0'])"/></B> |
<xsl:text> if "0" is a string, but </xsl:text> |
<B><xsl:value-of select="boolean(number((//text[text()='0'])))"/></B> |
<xsl:text> if "0" is a number.</xsl:text> |
</P> |
</xsl:template> |
</xsl:stylesheet> |
HTML 3 | HOME XML XSL 3 OUTPUT 3 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<P>The boolean value of "0" is |
<B>true</B> if "0" is a string, but |
<B>false</B> if "0" is a number.</P> </BODY> </HTML> |
OUTPUT 3 | HOME XML XSL 3 HTML 3 |
---|
The boolean value of "0" is true if "0" is a string, but false if "0" is a number.
XSL 4 | HOME XML HTML 4 OUTPUT 4 |
---|
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > |
<xsl:template match="/"> |
<TABLE border="1"> |
<TR><TH>node-set</TH><TH>boolean</TH></TR> |
<TR><TD> |
<xsl:text> /</xsl:text> |
</TD><TD> |
<xsl:value-of select="boolean(/)"/> |
</TD></TR> |
<TR><TD> |
<xsl:text> //text</xsl:text> |
</TD><TD> |
<xsl:value-of select="boolean(//text)"/> |
</TD></TR> |
<TR><TD> |
<xsl:text> //number</xsl:text> |
</TD><TD> |
<xsl:value-of select="boolean(//number)"/> |
</TD></TR> |
<TR><TD> |
<xsl:text> //text[23]</xsl:text> |
</TD><TD> |
<xsl:value-of select="boolean(//text[23])"/> |
</TD></TR> |
</TABLE> |
</xsl:template> |
</xsl:stylesheet> |
HTML 4 | HOME XML XSL 4 OUTPUT 4 |
---|
<HTML> |
<HEAD> </HEAD> |
<BODY> |
<TABLE border="1"> |
<TR> |
<TH>node-set</TH> |
<TH>boolean</TH></TR> |
<TR> |
<TD>/</TD> |
<TD>true</TD></TR> |
<TR> |
<TD>//text</TD> |
<TD>true</TD></TR> |
<TR> |
<TD>//number</TD> |
<TD>false</TD></TR> |
<TR> |
<TD>//text[23]</TD> |
<TD>false</TD></TR></TABLE> </BODY> </HTML> |
OUTPUT 4 | HOME XML XSL 4 HTML 4 |
---|
node-set | boolean |
---|---|
/ | true |
//text | true |
//number | false |
//text[23] | false |