XPath stands for XML Path Language. It uses a non-XML syntax to provide a flexible way of addressing (pointing to) different parts of an XML document. It can also be used to test addressed nodes within a document to determine whether they match a pattern or not.
XPath is mainly used in XSLT, but can also be used as a much more powerful way of navigating through the DOM of any XML-like language document using
XPathExpression, such as HTML and SVG, instead of relying on the
ParentNode.querySelectorAll() methods, the
Node.childNodes properties, and other DOM Core features.
XPath uses a path notation (as in URLs) for navigating through the hierarchical structure of an XML document. It uses a non-XML syntax so that it can be used in URIs and XML attribute values.
Note: Support for XPath varies widely; it's supported reasonably well in Firefox (although there are no plans to improve support further), while other browsers implement it to a lesser extent, if at all. If you need a polyfill, you may consider js-xpath or wicked-good-xpath.
- Describes a non-XSLT use of XPath.
- List and definition of the axes defined in the XPath specification. Axes are used to describe the relationships between nodes.
- List and description of the core XPath functions and XSLT-specific additions to XPath.
- Transforming XML with XSLT
- XSLT uses XPath to address code segments in an XML document that it wishes to transform.
- XPath snippets
- What is XSLT?
- This extensive introduction to XSLT and XPath assumes no prior knowledge of the technologies, and guides the reader through background, context, structure, concepts, and introductory terminology.