00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ACEXML_XMLFILTERIMPL_H
00013 #define ACEXML_XMLFILTERIMPL_H
00014 #include "ace/pre.h"
00015
00016 #include "ACEXML/common/XMLFilter.h"
00017 #include "ACEXML/common/XMLReader.h"
00018 #include "ACEXML/common/Locator.h"
00019 #include "ACEXML/common/ContentHandler.h"
00020 #include "ACEXML/common/DTDHandler.h"
00021 #include "ACEXML/common/EntityResolver.h"
00022 #include "ACEXML/common/ErrorHandler.h"
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 class ACEXML_Export ACEXML_XMLFilterImpl
00036 : public ACEXML_XMLFilter,
00037 public ACEXML_ContentHandler,
00038 public ACEXML_DTDHandler,
00039 public ACEXML_EntityResolver,
00040 public ACEXML_ErrorHandler
00041 {
00042 public:
00043
00044
00045
00046 ACEXML_XMLFilterImpl (void);
00047
00048
00049
00050
00051 ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent);
00052
00053
00054
00055
00056 virtual ~ACEXML_XMLFilterImpl (void);
00057
00058
00059
00060
00061 virtual int getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
00062 ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
00063 ACEXML_SAXNotSupportedException)) ;
00064
00065
00066
00067
00068 virtual void * getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
00069 ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
00070 ACEXML_SAXNotSupportedException)) ;
00071
00072
00073
00074
00075 virtual void parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL)
00076 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00077
00078
00079
00080
00081 virtual void parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00082
00083 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00084
00085
00086
00087
00088 virtual void setFeature (const ACEXML_Char *name,
00089 int boolean_value ACEXML_ENV_ARG_DECL)
00090 ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
00091 ACEXML_SAXNotSupportedException)) ;
00092
00093
00094
00095
00096 virtual void setProperty (const ACEXML_Char *name,
00097 void *value ACEXML_ENV_ARG_DECL)
00098 ACE_THROW_SPEC ((ACEXML_SAXNotRecognizedException,
00099 ACEXML_SAXNotSupportedException)) ;
00100
00101
00102
00103
00104 virtual ACEXML_XMLReader *getParent (void) const;
00105
00106
00107
00108
00109 virtual void setParent (ACEXML_XMLReader *parent);
00110
00111
00112
00113
00114 virtual ACEXML_DTDHandler *getDTDHandler (void) const;
00115
00116
00117
00118
00119 virtual ACEXML_ContentHandler *getContentHandler (void) const;
00120
00121
00122
00123
00124 virtual ACEXML_EntityResolver *getEntityResolver (void) const;
00125
00126
00127
00128
00129 virtual ACEXML_ErrorHandler *getErrorHandler (void) const;
00130
00131
00132
00133
00134 virtual void setDTDHandler (ACEXML_DTDHandler *handler);
00135
00136
00137
00138
00139 virtual void setContentHandler (ACEXML_ContentHandler *handler);
00140
00141
00142
00143
00144 virtual void setEntityResolver (ACEXML_EntityResolver *handler);
00145
00146
00147
00148
00149 virtual void setErrorHandler (ACEXML_ErrorHandler *handler);
00150
00151
00152
00153
00154 virtual void characters (const ACEXML_Char *ch,
00155 int start,
00156 int length ACEXML_ENV_ARG_DECL)
00157 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00158
00159
00160
00161
00162 virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
00163 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00164
00165
00166
00167
00168 virtual void endElement (const ACEXML_Char *namespaceURI,
00169 const ACEXML_Char *localName,
00170 const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
00171 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00172
00173
00174
00175
00176 virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
00177 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00178
00179
00180
00181
00182 virtual void ignorableWhitespace (const ACEXML_Char *ch,
00183 int start,
00184 int length ACEXML_ENV_ARG_DECL)
00185 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00186
00187
00188
00189
00190 virtual void processingInstruction (const ACEXML_Char *target,
00191 const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
00192 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00193
00194
00195
00196
00197 virtual void setDocumentLocator (ACEXML_Locator *locator) ;
00198
00199
00200
00201
00202 virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
00203 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00204
00205
00206
00207
00208 virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
00209 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00210
00211
00212
00213
00214 virtual void startElement (const ACEXML_Char *namespaceURI,
00215 const ACEXML_Char *localName,
00216 const ACEXML_Char *qName,
00217 ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
00218 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00219
00220
00221
00222
00223 virtual void startPrefixMapping (const ACEXML_Char *prefix,
00224 const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
00225 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00226
00227
00228
00229
00230
00231
00232 virtual void notationDecl (const ACEXML_Char *name,
00233 const ACEXML_Char *publicId,
00234 const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00235 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00236
00237
00238
00239
00240 virtual void unparsedEntityDecl (const ACEXML_Char *name,
00241 const ACEXML_Char *publicId,
00242 const ACEXML_Char *systemId,
00243 const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
00244 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00245
00246
00247
00248
00249
00250
00251 virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId,
00252 const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
00253 ACE_THROW_SPEC ((ACEXML_SAXException)) ;
00254
00255
00256
00257
00258
00259
00260 virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00261 ACE_THROW_SPEC ((ACEXML_SAXException));
00262
00263
00264
00265
00266 virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00267 ACE_THROW_SPEC ((ACEXML_SAXException));
00268
00269
00270
00271
00272 virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
00273 ACE_THROW_SPEC ((ACEXML_SAXException));
00274 protected:
00275 int setupParser (void);
00276
00277
00278
00279 private:
00280 ACEXML_XMLReader *parent_;
00281 ACEXML_Locator *locator_;
00282 ACEXML_EntityResolver *entityResolver_;
00283 ACEXML_DTDHandler *dtdHandler_;
00284 ACEXML_ContentHandler *contentHandler_;
00285 ACEXML_ErrorHandler *errorHandler_;
00286 };
00287
00288 #if defined (__ACEXML_INLINE__)
00289 # include "ACEXML/common/XMLFilterImpl.i"
00290 #endif
00291
00292 #include "ace/post.h"
00293
00294 #endif