00001 #ifndef DDL_SAX2ConfigHandler_H 00002 #define DDL_SAX2ConfigHandler_H 00003 00004 // --------------------------------------------------------------------------- 00005 // Includes 00006 // --------------------------------------------------------------------------- 00007 #include "DetectorDescription/Parser/interface/DDLSAX2Handler.h" 00008 00009 // DDCore parts 00010 #include "DetectorDescription/Core/interface/DDName.h" 00011 #include "DetectorDescription/Core/interface/DDCompactView.h" 00012 00013 #include <vector> 00014 #include <string> 00015 00016 // Xerces C++ dependencies 00017 #include <xercesc/sax2/Attributes.hpp> 00018 00020 00030 class DDLSAX2ConfigHandler : public DDLSAX2Handler 00031 { 00032 00033 public: 00034 00035 // ----------------------------------------------------------------------- 00036 // Constructor and Destructor 00037 // ----------------------------------------------------------------------- 00038 DDLSAX2ConfigHandler( DDCompactView& cpv); 00039 ~DDLSAX2ConfigHandler(); 00040 00041 // ----------------------------------------------------------------------- 00042 // Handlers for the SAX ContentHandler interface 00043 // ----------------------------------------------------------------------- 00044 void startElement(const XMLCh* const uri, const XMLCh* const localname 00045 , const XMLCh* const qname, const Attributes& attrs); 00046 00047 const std::vector<std::string>& getFileNames() const; 00048 const std::vector<std::string>& getURLs() const; 00049 const std::string getSchemaLocation() const; 00050 const bool doValidation() const; 00051 00052 private: 00053 bool doValidation_; 00054 std::vector<std::string> files_; 00055 std::vector<std::string> urls_; 00056 std::string schemaLocation_; 00057 DDCompactView& cpv_; 00058 00059 }; 00060 00061 #endif