XPath est un langage pour adresser des parties de documents XML, conçu pour être utilisé à la fois par XSLT et XPointer.
XPath représente les documents XML comme un arbre de noeuds. Il y a plusieurs types de noeuds, parmi lesquels les noeuds d'éléments, d'attributs et de texte. XPath fournit un mécanisme pour associer une valeur de type chaîne de caractères à chaque type de noeud. Certains ont également un nom. XPath supporte complètement les espaces de nom XML.