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 #ifndef SAX2XMLReader_HPP
00119 #define SAX2XMLReader_HPP
00120
00121 #include <util/XercesDefs.hpp>
00122 #include <util/XMLUniDefs.hpp>
00123 #include <framework/XMLValidator.hpp>
00124 #include <framework/XMLPScanToken.hpp>
00125
00126 class ContentHandler ;
00127 class DTDHandler;
00128 class EntityResolver;
00129 class ErrorHandler;
00130 class InputSource;
00131 class LexicalHandler;
00132 class XMLDocumentHandler;
00133
00134 class SAX2XMLReader
00135 {
00136 public:
00137
00138 enum ValSchemes
00139 {
00140 Val_Never
00141 , Val_Always
00142 , Val_Auto
00143 };
00144
00146
00147
00148
00150
00151 SAX2XMLReader()
00152 {
00153 }
00155 virtual ~SAX2XMLReader()
00156 {
00157 }
00159
00160
00161
00162
00165
00176 virtual int getErrorCount() const = 0 ;
00177
00183 virtual ContentHandler* getContentHandler() const = 0 ;
00184
00190 virtual DTDHandler* getDTDHandler() const = 0;
00191
00197 virtual EntityResolver* getEntityResolver() const = 0 ;
00198
00204 virtual ErrorHandler* getErrorHandler() const = 0 ;
00205
00211 virtual LexicalHandler* getLexicalHandler() const = 0 ;
00212
00220 virtual bool getFeature(const XMLCh* const name) const = 0;
00221
00241 virtual void* getProperty(const XMLCh* const name) const = 0 ;
00242
00252 virtual bool getExitOnFirstFatalError() const = 0;
00253
00264 virtual bool getValidationConstraintFatal() const = 0;
00265
00266
00292 virtual void parse
00293 (
00294 const InputSource& source
00295 ) = 0;
00296
00316 virtual void parse
00317 (
00318 const XMLCh* const systemId
00319 ) = 0;
00320
00340 virtual void parse
00341 (
00342 const char* const systemId
00343 ) = 0;
00344
00361 virtual void setContentHandler(ContentHandler* const handler) = 0;
00362
00378 virtual void setDTDHandler(DTDHandler* const handler) = 0;
00379
00396 virtual void setEntityResolver(EntityResolver* const resolver) = 0;
00397
00415 virtual void setErrorHandler(ErrorHandler* const handler) = 0;
00416
00433 virtual void setLexicalHandler(LexicalHandler* const handler) = 0;
00434
00450 virtual void setExitOnFirstFatalError(const bool newState) = 0;
00451
00467 virtual void setValidationConstraintFatal(const bool newState) = 0;
00468
00489 virtual void setFeature(const XMLCh* const name, const bool value) = 0;
00490
00514 virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
00515
00517
00518
00519
00520
00521
00524
00555 virtual bool parseFirst
00556 (
00557 const XMLCh* const systemId
00558 , XMLPScanToken& toFill
00559 , const bool reuseGrammar = false
00560 ) = 0;
00561
00592 virtual bool parseFirst
00593 (
00594 const char* const systemId
00595 , XMLPScanToken& toFill
00596 , const bool reuseGrammar = false
00597 ) = 0;
00598
00629 virtual bool parseFirst
00630 (
00631 const InputSource& source
00632 , XMLPScanToken& toFill
00633 , const bool reuseGrammar = false
00634 ) = 0;
00635
00660 virtual bool parseNext(XMLPScanToken& token) = 0;
00661
00683 virtual void parseReset(XMLPScanToken& token) = 0;
00684
00686
00687
00688
00689
00690
00693
00702 virtual void setValidator(XMLValidator* valueToAdopt) = 0;
00703
00714 virtual XMLValidator* getValidator() const = 0;
00716
00717
00718
00719
00720
00723
00736 virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall) = 0;
00737
00747 virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove) = 0;
00749
00750 private :
00751
00752 SAX2XMLReader(const SAX2XMLReader&);
00753
00754
00755 void operator=(const SAX2XMLReader&);
00756
00757 };
00758
00759 #endif