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 #ifndef SAX2XMLReader_HPP
00131 #define SAX2XMLReader_HPP
00132
00133 #include <xercesc/util/XercesDefs.hpp>
00134 #include <xercesc/util/XMLUniDefs.hpp>
00135 #include <xercesc/framework/XMLValidator.hpp>
00136 #include <xercesc/framework/XMLPScanToken.hpp>
00137
00138 XERCES_CPP_NAMESPACE_BEGIN
00139
00140 class ContentHandler ;
00141 class DTDHandler;
00142 class EntityResolver;
00143 class ErrorHandler;
00144 class InputSource;
00145 class LexicalHandler;
00146 class DeclHandler;
00147 class XMLDocumentHandler;
00148 class Grammar;
00149
00150 class SAX2XMLReader
00151 {
00152 public:
00153
00154
00155
00158
00166 enum ValSchemes
00167 {
00168 Val_Never
00169 , Val_Always
00170 , Val_Auto
00171 };
00173
00174
00175
00176
00177
00181 SAX2XMLReader()
00182 {
00183 }
00185 virtual ~SAX2XMLReader()
00186 {
00187 }
00189
00190
00191
00192
00195
00201 virtual ContentHandler* getContentHandler() const = 0 ;
00202
00208 virtual DTDHandler* getDTDHandler() const = 0;
00209
00215 virtual EntityResolver* getEntityResolver() const = 0 ;
00216
00222 virtual ErrorHandler* getErrorHandler() const = 0 ;
00223
00231 virtual bool getFeature(const XMLCh* const name) const = 0;
00232
00252 virtual void* getProperty(const XMLCh* const name) const = 0 ;
00253
00270 virtual void setContentHandler(ContentHandler* const handler) = 0;
00271
00287 virtual void setDTDHandler(DTDHandler* const handler) = 0;
00288
00305 virtual void setEntityResolver(EntityResolver* const resolver) = 0;
00306
00324 virtual void setErrorHandler(ErrorHandler* const handler) = 0;
00325
00349 virtual void setFeature(const XMLCh* const name, const bool value) = 0;
00350
00374 virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
00375
00401 virtual void parse
00402 (
00403 const InputSource& source
00404 ) = 0;
00405
00425 virtual void parse
00426 (
00427 const XMLCh* const systemId
00428 ) = 0;
00429
00449 virtual void parse
00450 (
00451 const char* const systemId
00452 ) = 0;
00453
00455
00456
00457
00458
00466 virtual DeclHandler* getDeclarationHandler() const = 0 ;
00467
00473 virtual LexicalHandler* getLexicalHandler() const = 0 ;
00474
00491 virtual void setDeclarationHandler(DeclHandler* const handler) = 0;
00492
00509 virtual void setLexicalHandler(LexicalHandler* const handler) = 0;
00510
00512
00513
00514
00515
00528 virtual XMLValidator* getValidator() const = 0;
00529
00540 virtual int getErrorCount() const = 0 ;
00541
00555 virtual bool getExitOnFirstFatalError() const = 0;
00556
00571 virtual bool getValidationConstraintFatal() const = 0;
00572
00579 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) = 0;
00580
00586 virtual Grammar* getRootGrammar() = 0;
00587
00594 virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
00595
00601 virtual unsigned int getSrcOffset() const = 0;
00602
00604
00605
00606
00607
00619 virtual void setValidator(XMLValidator* valueToAdopt) = 0;
00620
00642 virtual void setExitOnFirstFatalError(const bool newState) = 0;
00643
00669 virtual void setValidationConstraintFatal(const bool newState) = 0;
00671
00672
00673
00674
00675
00676
00679
00707 virtual bool parseFirst
00708 (
00709 const XMLCh* const systemId
00710 , XMLPScanToken& toFill
00711 ) = 0;
00712
00740 virtual bool parseFirst
00741 (
00742 const char* const systemId
00743 , XMLPScanToken& toFill
00744 ) = 0;
00745
00773 virtual bool parseFirst
00774 (
00775 const InputSource& source
00776 , XMLPScanToken& toFill
00777 ) = 0;
00778
00803 virtual bool parseNext(XMLPScanToken& token) = 0;
00804
00826 virtual void parseReset(XMLPScanToken& token) = 0;
00827
00829
00830
00831
00832
00833
00863 virtual Grammar* loadGrammar(const InputSource& source,
00864 const short grammarType,
00865 const bool toCache = false) = 0;
00866
00892 virtual Grammar* loadGrammar(const XMLCh* const systemId,
00893 const short grammarType,
00894 const bool toCache = false) = 0;
00895
00920 virtual Grammar* loadGrammar(const char* const systemId,
00921 const short grammarType,
00922 const bool toCache = false) = 0;
00923
00927 virtual void resetCachedGrammarPool() = 0;
00928
00939 void setInputBufferSize(const size_t bufferSize) {};
00940
00942
00943
00944
00945
00946
00947
00963 virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall) = 0;
00964
00974 virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove) = 0;
00976
00977 private :
00978
00979 SAX2XMLReader(const SAX2XMLReader&);
00980
00981
00982 SAX2XMLReader& operator=(const SAX2XMLReader&);
00983
00984 };
00985
00986 XERCES_CPP_NAMESPACE_END
00987
00988 #endif