ALPS Home Libraries License Support People ALPS Web Site

PrevUpHomeNext

Reference

Header <alps/parser/parser.h>
Header <alps/parser/xmlattributes.h>
Header <alps/parser/xmlhandler.h>
Header <alps/parser/xmlparser.h>
Header <alps/parser/xmlstream.h>
Header <alps/parser/xslt_path.h>

a very simple XML parser

namespace alps {
  struct XMLTag;

  // reads an XML tag or attribute name from a std::istream
  std::string parse_identifier(std::istream & in);
  ALPS_DECL std::string parse_parameter_name(std::istream &);
  std::string read_until(std::istream &, char);
  ALPS_DECL void check_character(std::istream &, char, const std::string &);
  ALPS_DECL XMLTag parse_tag(std::istream &, bool = true);

  // reads the contents of an element, until the first < character found 
  ALPS_DECL std::string parse_content(std::istream & in);
  ALPS_DECL void skip_element(std::istream &, const XMLTag &);
  ALPS_DECL void check_tag(std::istream &, const std::string &);
}
namespace alps {
  class XMLAttribute;
  class XMLAttributes;
}
namespace alps {
  class XMLHandlerBase;
  class DummyXMLHandler;
  template<typename T> class SimpleXMLHandler;
  class CompositeXMLHandler;
  template<typename T, typename C = std::vector<T>, 
           typename H = SimpleXMLHandler<T> > 
    class VectorXMLHandler;
  class PrintXMLHandler;
  class StylesheetXMLHandler;
  namespace xml {

    enum tag_type { element, processing_instruction, stylesheet };
  }
}
namespace alps {
  class XMLParser;
}

ALPS_XMLSTREAM_DO_TYPE(T)
namespace alps {
  class oxstream;
  unspecified header(const std::string & enc);
  unspecified stylesheet(const std::string & url);
  unspecified processing_instruction(const std::string & name);
  unspecified start_tag(const std::string & name);
  unspecified end_tag(const std::string & name = "");
  template<typename T> 
    unspecified attribute(const std::string & name, const T & value);
  unspecified xml_namespace(const std::string & name, const std::string & url);
  oxstream & start_comment(oxstream & oxs);
  oxstream & end_comment(oxstream & oxs);
  oxstream & start_cdata(oxstream & oxs);
  oxstream & end_cdata(oxstream & oxs);
  oxstream & no_linebreak(oxstream & oxs);
  ALPS_DECL std::string convert(const std::string & str);
  template<typename T> std::string precision(const T & d, int n);
}namespace std {
  alps::oxstream & endl(alps::oxstream & oxs);
}
namespace alps {
  ALPS_DECL std::string xslt_path(const std::string &);
  ALPS_DECL std::string search_xml_library_path(const std::string &);
  ALPS_DECL void copy_stylesheet(boost::filesystem::path const &);
}
Copyright 1994, 2002-2005 Matthias Troyer, Synge Todo

PrevUpHomeNext