00001 #ifndef x_SaxToDom2_h 00002 #define x_SaxToDom2_h 00003 00004 #include "xercesc/sax2/DefaultHandler.hpp" 00005 #include "DetectorDescription/Core/interface/adjgraph.h" 00006 #include "DetectorDescription/Core/interface/graphwalker.h" 00007 00008 #include "DetectorDescription/RegressionTest/src/TinyDom2.h" 00009 00010 #include <string> 00011 #include <map> 00012 #include <vector> 00013 00014 class AttributeList; 00015 00016 class SaxToDom2 : public xercesc_2_7::DefaultHandler 00017 { 00018 00019 public: 00020 typedef xercesc_2_7::Attributes Attributes; 00021 typedef xercesc_2_7::SAXParseException SAXParseException; 00022 SaxToDom2(); 00023 ~SaxToDom2(); 00024 void startElement(const XMLCh* const uri, const XMLCh* const localname, const XMLCh* const qname, const Attributes& attrs); 00025 //void startElement(const XMLCh* const name, AttributeList& attributes); 00026 void endElement(const XMLCh* const uri, 00027 const XMLCh* const name, 00028 const XMLCh* const qname); 00029 const TinyDom2 & dom() const; 00030 00031 // errors 00032 void error(const SAXParseException& e); 00033 00034 private: 00035 std::vector<Node2> parent_; 00036 TinyDom2 dom_; 00037 }; 00038 00039 #endif