1. An XPath query processing system for processing one or more inputted queries against one or more inputted XML documents, the system comprising at least one computer system including a plurality of distributed hardware processors (CPU) and memory, at least one distributed hardware processor executing steps that: creates a first index that comprises unique root to leaf paths (SUM-Index) where each unique root to leaf path has an associated unique path identifier (PID); and annotates each unique path in SUM-Index by PID; partitions SUM-Index by PID; and creates a second index that comprises tree nodes grouped by PID (PS-Index); partitions PS-Index by PID; and creates a third index that comprises values of the tree nodes grouped by PID (PV-Index); and partitions PV-Index by PID; wherein the first index, the second index, and the third index each have at least one path identifier and are linked together by at least one path identifier (PID); and each unique PID forms a nexus of unique path related information across the first index, the second index, and the third index; and each index attribute of the first index, the second index, and the third index is stored in a column store; and decomposes one or more XPath queries into one or more partial XPath queries; obtains a list of path identifiers from the first index to initialize a simple cursor (SC) access method or a multi-predicate-branching-path cursor (MPBPC) method from the one or more partial XPath queries; selects the second index to generate a result sequence of nodes using a simple cursor or a MPBPC cursor; selects the third index to lookup values to filter the result sequence of nodes; and produces one or more outputted XML documents from the result sequence of nodes.
2. The XPath query processing system of claim 1 , wherein the PS-Index is a search index that is partitioned on PID, or has a composite key of PID and preorder.