XPath, a language for selecting an XML document's parts, lets you treat an XML document like a filesystem. XPath queries start with a current element or attribute (much like a current directory within a filesystem) and let you specify other nodes relative to your location. For example, the path ".." takes you to the parent element. "aaa" takes you to a child node called aaa and the path "/aaa/*" jumps to the root element called aaa and selects the elements inside. While that resembles a filesystem, XPath gets much cleverer. For example: "ccc" selects the fifth ccc element"ddd//eee" selects all eee elements with ancestors (however distant) called ddd"//fff[@name='foo']" selects all fff elements with the attribute name set to foo"//ggg/following::*" selects the elements following the first ggg element Xalan, Saxon, Jaxen, and DOM4J let you select nodes using XPath expressions. XPath is particularly valuable here if you use XML to configure an application: rather than digging around your document using DOM or SAX, you can simply request the element you want to read. XPath is the platform upon which XSLT, XPointer, and other technologies are built.
A way of referencing information within an XML document, intended as a bridge between XPointer and XSLT. XPath uses a directory notation to perform queries through the selectNodes architecture and lets you determine which elements within an XML document satisfy a given set of criteria.