Home >
Online Product Documentation >
Table of Contents >
How the XPath Processor Evaluates Comparisons
How the XPath Processor Evaluates Comparisons
A query can compare values of elements. For example:
The XPath processor compares the value of each
last-name element in the current context with the value
"foo". The result of each comparison is a Boolean value. The XPath processor returns the
last-name elements for which the comparison yields
true.
As mentioned before in
Filtering Results of Queries, the XPath processor evaluates filters with respect to a context. For example, the expression
book[author] means for every
book element that is found, determine whether it has an
author child element. Likewise,
book[author = "Bob"] means for every
book element that is found, determine whether it contains an
author child element whose value is
"Bob".
Comparisons are case sensitive. For example,
"Bob" and
"bob" are not considered to be equal.
Remember that comparisons return Boolean values. For example:
You might think that this query returns authors whose last name is
"Bob". But this is not the case. This query returns a single Boolean value. It tests each
last-name element to determine if its value is
"Bob". As soon as the XPath processor finds a
last-name element that tests true, it returns
true. If no nodes test true, this query returns
false.
To obtain
author elements whose last name is
"Bob", enclose the comparison in a filter as follows: