First data that represents a level associated with an element within an
expression, such as an XPath expression, is generated from the
expression, and stored in one or more columns of a table. Second data
that represents a condition on an attribute of the element is generated
from the expression, and stored in one or more columns of the same or a
different table. A plurality of expressions can be processed as such, and
a determination made whether any of the expressions match with a given
hierarchical data item, such as an XML document, that includes a value
that corresponds to an attribute that is associated with an element that
resides at a particular level within the data item. Such determination is
made based on whether the particular level matches the first data and the
value satisfies the second data associated with a given expression.