25 #ifndef __RTSAXCPPPARSER_H_ 26 #define __RTSAXCPPPARSER_H_ 29 #include "rtxsrc/rtxErrCodes.h" 30 #include "rtxsrc/OSRTContext.h" 31 #include "rtxmlsrc/rtSaxCppParserIF.h" 33 #include "rtxmlsrc/rtSaxDefs.h" 42 operator OSXMLBase* ()
const {
return mPtr; }
45 if (mPtr) mPtr->release ();
61 OSRTCtxtPtr mpContext;
62 const OSUTF8CHAR* mpElemName;
74 inline ErrorInfo ():stat (0),file (0), line (0) {}
79 const OSUTF8CHAR* elemName = 0, OSINT32 level = 0) :
81 mpElemName(elemName), mLevel(level),
82 mStartLevel (0), mReqElemCnt (0), mCurrElemIdx(0), mState (0)
87 EXTXMLMETHOD
virtual int startElement
88 (
const OSUTF8CHAR*
const uri,
89 const OSUTF8CHAR*
const localname,
90 const OSUTF8CHAR*
const qname,
91 const OSUTF8CHAR*
const* attrs);
93 EXTXMLMETHOD
virtual int characters
94 (
const OSUTF8CHAR*
const chars,
unsigned int length);
96 EXTXMLMETHOD
virtual int endElement
97 (
const OSUTF8CHAR*
const uri,
98 const OSUTF8CHAR*
const localname,
99 const OSUTF8CHAR*
const qname);
101 EXTXMLMETHOD
virtual void startDocument();
102 EXTXMLMETHOD
virtual void endDocument ();
104 EXTXMLMETHOD
virtual int finalize ();
107 EXTXMLMETHOD
virtual void resetErrorInfo ();
108 EXTXMLMETHOD
virtual void setErrorInfo (
int status,
const char* file = 0,
int line = 0);
109 EXTXMLMETHOD
virtual int getErrorInfo (
int* status,
const char** file,
int* line);
126 virtual void init (
int level = 0) {
127 mState = 0; mLevel = (OSINT16)level;
130 void setElemName (
const OSUTF8CHAR* elemName) {
131 mpElemName = elemName;
134 inline OSBOOL isComplete () {
return (mLevel <= mStartLevel); }
137 EXTXMLMETHOD
void traceStartElement (
const char* funcName,
const OSUTF8CHAR* localName);
138 EXTXMLMETHOD
void traceEndElement (
const char* funcName,
const OSUTF8CHAR* localName);
140 inline void traceStartElement
141 (
const char* funcName,
const OSUTF8CHAR* localName) {}
142 inline void traceEndElement
143 (
const char* funcName,
const OSUTF8CHAR* localName) {}
164 {
return ptr == mPtr; }
166 {
return ptr != mPtr; }
167 inline int operator ! ()
const {
return mPtr == 0; }
174 {
return ptr != (
const void*)ptr2.mPtr; }
177 {
return ptr == (
const void*)ptr2.mPtr; }
180 OSRTCtxtPtr mpContext;
185 EXTXMLMETHOD
virtual OSRTInputStreamIF* createInputStream ();
186 EXTXMLMETHOD
virtual OSRTInputStreamIF* createFileInputStream
187 (
const char*
const filename);
188 EXTXMLMETHOD
virtual OSRTInputStreamIF* createMemoryInputStream
189 (OSOCTET* pMemBuf,
size_t bufSize);
190 EXTXMLMETHOD
virtual OSCTXT* getContext ();
191 EXTXMLMETHOD
virtual const OSUTF8CHAR* parseQName (
const OSUTF8CHAR*
const qname);
195 #define OSCPPSAXDIAGSTART(funcName,localName) \ 196 traceStartElement (funcName, localName) 198 #define OSCPPSAXDIAGEND(funcName,localName) \ 199 traceEndElement (funcName, localName) 202 #define OSCPPSAXDIAGSTART(funcName,localName) 203 #define OSCPPSAXDIAGEND(funcName,localName)
This class is derived from the SAX class DefaultHandler base class.
This class is derived from the SAX class DefaultHandler base class.
XML low-level C encode/decode functions.
OSINT16 getState()
This method returns the current state of the decoding process.