00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161 #ifndef SAX2XMLReader_HPP
00162 #define SAX2XMLReader_HPP
00163
00164 #include <xercesc/util/XercesDefs.hpp>
00165 #include <xercesc/util/XMLUniDefs.hpp>
00166 #include <xercesc/framework/XMLValidator.hpp>
00167 #include <xercesc/framework/XMLPScanToken.hpp>
00168
00169 XERCES_CPP_NAMESPACE_BEGIN
00170
00171 class ContentHandler ;
00172 class DTDHandler;
00173 class EntityResolver;
00174 class ErrorHandler;
00175 class InputSource;
00176 class LexicalHandler;
00177 class DeclHandler;
00178 class XMLDocumentHandler;
00179 class Grammar;
00180
00181 class SAX2XMLReader
00182 {
00183 public:
00184
00185
00186
00189
00197 enum ValSchemes
00198 {
00199 Val_Never
00200 , Val_Always
00201 , Val_Auto
00202 };
00204
00205
00206
00207
00208
00212 SAX2XMLReader()
00213 {
00214 }
00216 virtual ~SAX2XMLReader()
00217 {
00218 }
00220
00221
00222
00223
00226
00232 virtual ContentHandler* getContentHandler() const = 0 ;
00233
00239 virtual DTDHandler* getDTDHandler() const = 0;
00240
00246 virtual EntityResolver* getEntityResolver() const = 0 ;
00247
00253 virtual ErrorHandler* getErrorHandler() const = 0 ;
00254
00262 virtual bool getFeature(const XMLCh* const name) const = 0;
00263
00283 virtual void* getProperty(const XMLCh* const name) const = 0 ;
00284
00301 virtual void setContentHandler(ContentHandler* const handler) = 0;
00302
00318 virtual void setDTDHandler(DTDHandler* const handler) = 0;
00319
00336 virtual void setEntityResolver(EntityResolver* const resolver) = 0;
00337
00355 virtual void setErrorHandler(ErrorHandler* const handler) = 0;
00356
00380 virtual void setFeature(const XMLCh* const name, const bool value) = 0;
00381
00405 virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
00406
00432 virtual void parse
00433 (
00434 const InputSource& source
00435 ) = 0;
00436
00456 virtual void parse
00457 (
00458 const XMLCh* const systemId
00459 ) = 0;
00460
00480 virtual void parse
00481 (
00482 const char* const systemId
00483 ) = 0;
00484
00486
00487
00488
00489
00497 virtual DeclHandler* getDeclarationHandler() const = 0 ;
00498
00504 virtual LexicalHandler* getLexicalHandler() const = 0 ;
00505
00522 virtual void setDeclarationHandler(DeclHandler* const handler) = 0;
00523
00540 virtual void setLexicalHandler(LexicalHandler* const handler) = 0;
00541
00543
00544
00545
00546
00559 virtual XMLValidator* getValidator() const = 0;
00560
00571 virtual int getErrorCount() const = 0 ;
00572
00586 virtual bool getExitOnFirstFatalError() const = 0;
00587
00602 virtual bool getValidationConstraintFatal() const = 0;
00603
00610 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) = 0;
00611
00617 virtual Grammar* getRootGrammar() = 0;
00618
00625 virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
00626
00632 virtual unsigned int getSrcOffset() const = 0;
00633
00635
00636
00637
00638
00650 virtual void setValidator(XMLValidator* valueToAdopt) = 0;
00651
00673 virtual void setExitOnFirstFatalError(const bool newState) = 0;
00674
00700 virtual void setValidationConstraintFatal(const bool newState) = 0;
00702
00703
00704
00705
00706
00707
00710
00738 virtual bool parseFirst
00739 (
00740 const XMLCh* const systemId
00741 , XMLPScanToken& toFill
00742 ) = 0;
00743
00771 virtual bool parseFirst
00772 (
00773 const char* const systemId
00774 , XMLPScanToken& toFill
00775 ) = 0;
00776
00804 virtual bool parseFirst
00805 (
00806 const InputSource& source
00807 , XMLPScanToken& toFill
00808 ) = 0;
00809
00834 virtual bool parseNext(XMLPScanToken& token) = 0;
00835
00857 virtual void parseReset(XMLPScanToken& token) = 0;
00858
00860
00861
00862
00863
00864
00894 virtual Grammar* loadGrammar(const InputSource& source,
00895 const short grammarType,
00896 const bool toCache = false) = 0;
00897
00923 virtual Grammar* loadGrammar(const XMLCh* const systemId,
00924 const short grammarType,
00925 const bool toCache = false) = 0;
00926
00951 virtual Grammar* loadGrammar(const char* const systemId,
00952 const short grammarType,
00953 const bool toCache = false) = 0;
00954
00958 virtual void resetCachedGrammarPool() = 0;
00959
00961
00962
00963
00964
00965
00966
00982 virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall) = 0;
00983
00993 virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove) = 0;
00995
00996 private :
00997
00998 SAX2XMLReader(const SAX2XMLReader&);
00999
01000
01001 void operator=(const SAX2XMLReader&);
01002
01003 };
01004
01005 XERCES_CPP_NAMESPACE_END
01006
01007 #endif