## Class xpath

zeep::xml::xpath

## Synopsis

    // In header: <zeep/xml/xpath.hpp>

    class xpath {
    public:
      // construct/copy/destruct
      ();
      ();
      (xpath &);
      xpath & (xpath &);
      ~();

      // public member functions
      template<typename NODE_TYPE>
         (node &) ;
      template<typename NODE_TYPE>
         (node &, context &) ;
       (node *) ;
       ();
    };

## Description

The actual xpath implementation. It expects an xpath in the constructor and this path must be UTF-8 encoded.

### `xpath` public construct/copy/destruct

1.     ( path);

2.     ( path);

3.     (xpath & rhs);

4.     xpath & (xpath &);

5.     ~();

### `xpath` public member functions

1.     template<typename NODE_TYPE>
          (node & root) ;

   evaluate returns a node_set. If you're only interested in `zeep::xml::element` results, you should call the evaluate<element>() instantiation.

2.     template<typename NODE_TYPE>
          (node & root, context & ctxt) ;

   The second evaluate method is used for xpaths that contain variables.

3.      (node * n) ;

   Returns true if the n node matches the XPath.

4.      ();

   debug routine, dumps the parse tree to stdout