Isis 3.0 Developer's Reference (API) |
Home |
00001 00024 #ifndef IsisXMLGroups_h 00025 #define IsisXMLGroups_h 00026 00027 //#include <sax2/DefaultHandler.hpp> 00028 00029 #include "IsisAmlData.h" 00030 #include "IsisXMLGroup.h" 00031 #include "IsisXMLIgnore.h" 00037 class IsisXMLGroups : public IsisXMLHandler { 00038 00039 public: 00040 00041 ContentHandler *prevDocHandler; 00042 ErrorHandler *prevErrorHandler; 00043 00044 00045 IsisXMLGroups(char *PencodingName, 00046 bool &PexpandNamespaces, 00047 XERCES::SAX2XMLReader* &Pparser, 00048 std::vector<IsisGroupData> *Pgroups); 00049 00050 ~IsisXMLGroups(); 00051 00052 // void endDocument(); 00053 00054 void endElement(const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname); 00055 00056 void characters(const XMLCh *const chars, const XMLSize_t length); 00057 00058 00059 void startElement(const XMLCh *const uri, 00060 const XMLCh *const localname, 00061 const XMLCh *const qname, 00062 const XERCES::Attributes &attributes); 00063 00064 00065 private: 00066 00067 // Saved arguments from constructor 00068 char *encodingName; 00069 bool expandNamespaces; 00070 XERCES::SAX2XMLReader *parser; 00071 std::vector<IsisGroupData> *groups; 00072 00073 // Handlers this handler knows how to create 00074 IsisXMLGroup *groupHandler; 00075 IsisXMLIgnore *ignoreHandler; 00076 00077 }; 00078 00079 00080 #endif 00081 00082 00083 00084 00085