Comparing Node Sets

You can compare

  • Two node sets
  • A node set and a number
  • A node set and a string
  • A node set and a Boolean value

Two Node Sets

Suppose the objects you want to compare are both node sets. The result is true only in the following case. There is a node in the first node set and a node in the second node set such that the result of performing a comparison on the values of the two nodes is true. For string values, the comparison can be = or !=. For numeric values, the comparison can also be <, >, <=, or >=.

A Node Set and a Number

Now suppose one object to be compared is a node set and the other is a number. The XPath processor searches for a node in the node set that yields a true result when its number value is compared with the number that is not in the node set. If necessary, the XPath processor uses the number() function to convert values to numeric values. If and only if the XPath processor finds such a node, the result is true.

A Node Set and a String

Sometimes you want to compare a node set with a string. The XPath processor searches for a node in the node set that yields a true result when its string value is compared with the string that is not in the node set. If necessary, the XPath processor uses the string() function to convert values to string values. If and only if the XPath processor finds such a node, the result is true.

A Node Set and a Boolean Value

Finally, suppose you want to compare a node set with a Boolean value. This tests true if and only if the result of performing the comparison on the Boolean value and on the result of converting the node set to a Boolean value using the boolean() function is true.

 
Free Stylus Studio XML Training: