00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00025 #ifdef __GNUG__
00026 # pragma interface
00027 #endif
00028
00029
00030 #ifndef OUTPUTSAXRECEPTOR_H
00031 #define OUTPUTSAXRECEPTOR_H
00032
00033 #include "defs.h"
00034 #include "saxreceptor.h"
00035 #include "iodevice.h"
00036 #include "xmlchar.h"
00037 #include "textcodec.h"
00038
00039
00045 class OutputSAXReceptor : public SAXReceptor, public UserOfTextCodec
00046 {
00047 public:
00049 OutputSAXReceptor(void);
00050
00052 OutputSAXReceptor(IODevice *outDevice);
00053
00055 virtual ~OutputSAXReceptor(void);
00056
00058 virtual void setOutputDevice(IODevice *outDevice);
00059
00061 virtual void reportError(void);
00062
00064 virtual void startElement(void *userData,
00065 const XmlChar *name,
00066 const XmlChar **atts);
00067
00069 virtual void endElement(void *userData,
00070 const XmlChar *name);
00071
00073 virtual void characterData(void *userData,
00074 const XmlChar *data,
00075 int length);
00076
00078 virtual void processingInstruction(void *userData,
00079 const XmlChar *target,
00080 const XmlChar *data);
00081
00083 virtual void comment(void *userData,
00084 const XmlChar *data);
00085
00087 virtual void startCDATASection(void *userData);
00088
00089
00091 virtual void endCDATASection(void *userData);
00092
00094 virtual void defaultHandler(void *userData,
00095 const XmlChar *data,
00096 int length);
00097
00099 virtual int unknownEncoding(void *unknownEncodingData,
00100 const XmlChar *name,
00101 XML_Encoding *info);
00102
00104 virtual void xmlDecl(void *userData,
00105 const XmlChar *version,
00106 const XmlChar *encoding,
00107 int standalone);
00108
00110 virtual void startDoctypeDecl(void *userData,
00111 const XmlChar *doctypeName,
00112 const XmlChar *systemId,
00113 const XmlChar *publicId,
00114 int hasInternalSubset);
00115
00117 virtual void endDoctypeDecl(void *userData);
00118
00120 virtual void entityDecl(void *userData,
00121 const XmlChar *entityName,
00122 int isParameterEntity,
00123 const XmlChar *value,
00124 int valueLength,
00125 const XmlChar *base,
00126 const XmlChar *systemId,
00127 const XmlChar *publicId,
00128 const XmlChar *notationName);
00129
00131 virtual void notationDecl(void *userData,
00132 const XmlChar *notationName,
00133 const XmlChar *base,
00134 const XmlChar *systemId,
00135 const XmlChar *publicId);
00136
00137
00138 protected:
00140 IODevice *outputDevice;
00141
00143 bool dtdHasInternalSubset;
00144
00146 bool inCDATA;
00147
00149 void init(void);
00150 };
00151
00152 #endif //OUTPUTSAXRECEPTOR_H