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: