## Class parser

zeep::xml::parser

## Synopsis

    // In header: </home/maarten/projects/libzeep/zeep/xml/parser.hpp>

    class parser {
    public:
      // construct/copy/destruct
      parser(std::istream &);
      parser(const std::string &);
      ~parser();

      // public member functions
      void parse(bool);

      // public data members
      boost::function< void(const std::string &name, const std::string &uri, const attr_list_type &atts)> start_element_handler;
      boost::function< void(const std::string &name, const std::string &uri)> end_element_handler;
      boost::function< void(const std::string &data)> character_data_handler;
      boost::function< void(const std::string &target, const std::string &data)> processing_instruction_handler;
      boost::function< void(const std::string &data)> comment_handler;
      boost::function< void()> start_cdata_section_handler;
      boost::function< void()> end_cdata_section_handler;
      boost::function< void(const std::string &prefix, const std::string &uri)> start_namespace_decl_handler;
      boost::function< void(const std::string &prefix)> end_namespace_decl_handler;
      boost::function< void(const std::string &name, const std::string &systemId, const std::string &publicId)> notation_decl_handler;
      boost::function< std::istream *(const std::string &base, const std::string &pubid, const std::string &uri)> external_entity_ref_handler;
      boost::function< void(const std::string &msg)> report_invalidation_handler;
    };

## Description

zeep::xml::parser is a SAX parser. After construction, you should assign call back handlers for the SAX events and then call parse().

### `parser` public construct/copy/destruct

1.     parser(std::istream & is);

2.     parser(const std::string & s);

3.     ~parser();

### `parser` public member functions

1.     void parse(bool validate);