USGS

Isis 3.0 Developer's Reference (API)

Home

IsisXMLGroups.h

Go to the documentation of this file.
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