Isis 3 Programmer Reference
IsisXMLHandler.h
1 #ifndef IsisXMLHandler_h
2 #define IsisXMLHandler_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <xercesc/sax2/DefaultHandler.hpp>
11 
12 namespace XERCES = XERCES_CPP_NAMESPACE;
18 class IsisXMLHandler : public XERCES::DefaultHandler {
19  using XERCES::DefaultHandler::ignorableWhitespace;
20 
21  public:
22 
23  ContentHandler *prevDocHandler;
24  ErrorHandler *prevErrorHandler;
25 
27 
28  IsisXMLHandler(char *PencodingName,
29  bool &PexpandNamespaces,
30  XERCES::SAX2XMLReader* &Pparser,
31  QString *chars);
32 
33  IsisXMLHandler(char *PencodingName,
34  bool &PexpandNamespaces,
35  XERCES::SAX2XMLReader* &Pparser);
36 
37  ~IsisXMLHandler();
38 
39  void endDocument();
40 
41  void endElement(const XMLCh *const uri,
42  const XMLCh *const localname,
43  const XMLCh *const qname);
44 
45  void characters(const XMLCh *const chars,
46  const XMLSize_t length);
47 
48  void ignorableWhitespace(const XMLCh *const chars,
49  const unsigned int length);
50 
51  void processingInstruction(const XMLCh *const target,
52  const XMLCh *const data);
53 
54  void startDocument();
55 
56  void startElement(const XMLCh *const uri,
57  const XMLCh *const localname,
58  const XMLCh *const qname,
59  const XERCES::Attributes &attributes);
60 
61 
62  // SAX ErrorHandler interface
63  void warning(const XERCES::SAXParseException &exception);
64  void error(const XERCES::SAXParseException &exception);
65  void fatalError(const XERCES::SAXParseException &exception);
66 
67 
68  private:
69 
70  // Saved argument from the constructor
71  char *encodingName;
72  bool expandNamespaces;
73  XERCES::SAX2XMLReader *parser;
74  QString *value;
75  int outputEndTag;
76 };
77 
78 
79 #endif
IsisXMLHandler
This is free and unencumbered software released into the public domain.
Definition: IsisXMLHandler.h:18