1. A method for determining whether an input path matches a path subsetting rule used to create a path-based index for a set of XML documents, wherein the path subsetting rule includes a set of path expressions, said set of path expressions represented by a finite state machine, said finite state machine including a plurality of states and a start state, said method comprising the computer-implemented steps of: (a) receiving an input path comprised of a sequence of location step components; (b) setting a current state of the finite state machine to the start state; (c) setting a current location step component to a first location step component of the input path; d) setting the current state of the finite state machine to a state determined by traversing the finite state machine for the current location step component; (e) if the current state of the finite state machine is an accepting state, determining that the received input path matches the path subsetting rule, and if the current state of the finite state machine is not an accepting state, performing the steps of: (i) if there is a next location step component in the input path, then setting the current path expression component to the next location step component and repeating steps (d) and (e); and (ii) if there is not a next location step component in the input path, then determining that the input path does not match the path subsetting rule.