#xpath methods This page details the methods exposed on the `xpath` object. ### `xpath.select(expression[, node[, single]])` Evaluates an XPath expression and returns the result. The return value is determined based on the result type of the expression (which can always be predicted ahead of time): - A boolean value if the expression evaluates to a boolean value. - A number if the expression evaluates to a numeric value. - A string if the expression evaluates to a string. - If the expression evaluates to a nodeset: - An array of nodes if `single` is unspecified or falsy - A single node (the first node in document order) or `undefined` if `single` is truthy `node` is optional and if specified, is used as the context node for evaluating the expression. (It is necessary if the expression includes any node tests.) `single` is optional and is ignored if the expression evaluates to anything other than a nodeset. ### `xpath.useNamespaces(mappings)` Produces a function with the signature `func(expression, node)` that evaluates the provided xpath expression with the XML namespace definitions provided in `mapppings`. `mappings` should be an object with namespace prefixes as its property names and namespace URIs as its property values. Example usage: ```js var expr = xpath.useNamespaces({ hp: 'http://www.example.com/harryPotter', bk: 'http://www.example.com/books' }); var result = expr('/bk:books/bk:book[@name = "Harry Potter and the Half-Blood Prince"]/hp:characters', myBooks); ``` ### `xpath.select1(expression[, node])` Alias for [`xpath.select(expression, node, true)`](#xpathselectexpression-node-single). Selects a single node or value. ### `xpath.parse(expression)` Creates a parsed expression. See the [documentation page](parsed expressions.md) for details.