xmerl_xpath(3)

NAME
xmerl_xpath - The xmerl_xpath module handles the entire XPath 1.0 spec
  XPath expressions typically occurs in XML attributes and are used to addres
  parts of an XML document.

DESCRIPTION

The xmerl_xpath module handles the entire XPath 1.0 spec XPath expressions typically occurs in XML attributes and are used to addres parts of an XML document. The grammar is defined in xmerl_xpath_parse.yrl . The core functions are defined in xmerl_xpath_pred.erl .

Some useful shell commands for debugging the XPath parser

c(xmerl_xpath_scan). yecc:yecc("xmerl_xpath_parse.yrl", "xmerl_xpath_parse", true, []). c(xmerl_xpath_parse). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("position() > -1")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("5 * 6 div 2")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("5 + 6 mod 2")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("5 * 6")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("-----6")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("parent::node()")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("descendant-or-self::node()")). xmerl_xpath_parse:parse(xmerl_xpath_scan:tokens("parent::processing-instruction('foo')")).

DATA TYPES

    docEntity() = xmlElement() | xmlAttribute() | xmlText() | xmlPI() | xmlComment() :

    nodeEntity() = xmlElement() | xmlAttribute() | xmlText() | xmlPI() | xmlNamespace() | xmlDocument() :

    option_list() :

        Options allows to customize the behaviour of the XPath scanner.

            {namespace, #xmlNamespace} :
                Set namespace nodes, from XmlNamspace, in xmlContext

            {namespace, Nodes} :
                Set namespace nodes in xmlContext.

EXPORTS

string(Str, Doc) -> [docEntity()] | Scalar

    Equivalent to string(Str, Doc, []) .

string(Str, Doc, Options) -> [docEntity()] | Scalar

    Equivalent to string(Str, Doc, [], Doc, Options) .

string(Str, Node, Parents, Doc, Options) -> [docEntity()] | Scalar

    Types
        Str = xPathString()
        Node = nodeEntity()
        Parents = parentList()
        Doc = nodeEntity()
        Options = option_list()
        Scalar = xmlObj

    Extracts the nodes from the parsed XML tree according to XPath. xmlObj is a record with fields type and value, where type is boolean | number | string

AUTHORS

<>