XPath не является автономным языком - он всегда размещается на языке программирования хоста - таком как C #, Java, VB, PHP, ... и т. Д.
Программа, написанная на определенном PL, должна следовать правилам оценки выражений XPath в этом PL. Как правило, существует XPath-ориентированный API, который предоставляет набор объектов и функций для этого. Часто выражение XPath, которое выбирает узлы, передается в качестве параметра одной функции, в то время как выражение XPath, результат вычисления которого не является набором узлов (например, строка или число), передается в качестве параметра другой функции.
Например, в C # можно использовать SelectNodes()
или SelectSingleNode()
методы XmlDocument
, XmlNode
, XPathDocument
- для выбора набора узлов или одного узла - и Evaluate()
метод XPathDocument
для оценки любого типа выражения XPath (не только того, который выбирает узлы).
Среди хостов XPath два заметно отличаются: XSLT и XQuery полностью интегрируют XPath - они используют XPath изначально - это часть языка, поэтому никаких явных функций оценки XPath не требуется называться на этих двух языках. От разработчика не требуется отвлекаться на необходимость переключаться между двумя разными мирами: миром PL и миром XPath.
XPath - это естественная часть мира XSLT / XQuery .
По моему опыту, XSLT и / или XQuery - это языки, на которых использование XPath наиболее удобно.