Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Comparisons (5/6) >

Finding out identical nodes - "is" operator

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