Operator "=" compares values, if we need to find out whether two nodes are identical, operator "is" must be used.
|
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> <xsl:template match="/aaa"> <xxx> <xsl:value-of select="if (bbb = ccc) then 1 else 0"/> </xxx> <yyy> <xsl:value-of select="if (bbb is ccc) then 1 else 0"/> </yyy> <zzz> <xsl:value-of select="if (bbb is *[1]) then 1 else 0"/> </zzz> </xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa> <bbb>3</bbb> <ccc>3</ccc> </aaa> |
Output
<xxx>1</xxx> <yyy>0</yyy> <zzz>1</zzz> |
| Previous chapter: | Stylesheet Functions |
| Next chapter: | Conditional Expressions |
| Previous page: | Operators = and != are not inverts of each other |
| Next page: | Comparison of nodes' positions |