Patent ID: 8001156

Claim:
A computerized method for enumerating a node set in an XML document comprising: a. deriving a representation that describes a set of nodes that includes the node set, the deriving including manipulating, through logical decomposition, an initial representation defined as an ordered sequence of set manipulations of the XML document, the logical decomposition being performed by applying at least one axiom of algebra to the initial representation without enumerating the initial representation, the derived representation comprising: a first forest of trees that contains all the nodes of the node set, a second forest of trees that contains no nodes of the node set, and a set of node tests that characterize the node set, the set of node tests including at least one node type test; b. evaluating the derived representation to compute the node set, wherein the set of node tests is evaluated only against the set of nodes within the first forest and outside of the second forest; and c. enumerating the node set.