1. A computer-implemented method comprising: receiving, by a computer, XPath queries for simultaneous processing, the XPath queries relating to user profiles or preferences and comprising a main location path and one or more nested paths; determining hit of a location path in a SAX event responsive to encountering an XML attribute or an XML element used to process the XPath queries, the hit indicating that the location path is in an accepting state reached by Y-filter Nondeterministic Finite Automation (NFA); identifying all XPath queries corresponding to the location path, each XPath query having a unique path id used as a key; identifying an XML node associated with the SAX event as a potential output node for all XPath queries in which the location path includes a main location path, wherein the potential output node is a node satisfying criteria of a node test of a last location step of the main location path, and evaluating a predicate expression to which the location path belongs for XPath queries in which the location path does not include a main location path; buffering the potential output node for all XPath queries comprising unevaluated predicates, wherein for each XPath query the potential output node is buffered at a location step comprising an unevaluated predicate; evaluating all XPath queries by progressively evaluating the unevaluated predicates of all XPath queries based on availability of data; and moving buffers comprising the potential output node and intermediate or complete results of predicate evaluation from the location step to another location step, where in the another location step comprises one or more unevaluated predicates.