00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(XERCESC_INCLUDE_GUARD_SAX2XMLREADER_HPP)
00023 #define XERCESC_INCLUDE_GUARD_SAX2XMLREADER_HPP
00024
00025 #include <xercesc/util/XercesDefs.hpp>
00026 #include <xercesc/util/XMLUniDefs.hpp>
00027 #include <xercesc/framework/XMLValidator.hpp>
00028 #include <xercesc/framework/XMLPScanToken.hpp>
00029 #include <xercesc/validators/common/Grammar.hpp>
00030
00031 XERCES_CPP_NAMESPACE_BEGIN
00032
00033 class ContentHandler ;
00034 class DTDHandler;
00035 class EntityResolver;
00036 class ErrorHandler;
00037 class InputSource;
00038 class LexicalHandler;
00039 class DeclHandler;
00040 class XMLDocumentHandler;
00041
00042 class SAX2_EXPORT SAX2XMLReader
00043 {
00044 public:
00045
00046
00047
00050
00070 enum ValSchemes
00071 {
00072 Val_Never
00073 , Val_Always
00074 , Val_Auto
00075 };
00077
00078
00079
00080
00081
00085 SAX2XMLReader()
00086 {
00087 }
00089 virtual ~SAX2XMLReader()
00090 {
00091 }
00093
00094
00095
00096
00099
00105 virtual ContentHandler* getContentHandler() const = 0 ;
00106
00112 virtual DTDHandler* getDTDHandler() const = 0;
00113
00119 virtual EntityResolver* getEntityResolver() const = 0 ;
00120
00126 virtual ErrorHandler* getErrorHandler() const = 0 ;
00127
00135 virtual bool getFeature(const XMLCh* const name) const = 0;
00136
00155 virtual void* getProperty(const XMLCh* const name) const = 0 ;
00156
00173 virtual void setContentHandler(ContentHandler* const handler) = 0;
00174
00190 virtual void setDTDHandler(DTDHandler* const handler) = 0;
00191
00208 virtual void setEntityResolver(EntityResolver* const resolver) = 0;
00209
00227 virtual void setErrorHandler(ErrorHandler* const handler) = 0;
00228
00252 virtual void setFeature(const XMLCh* const name, const bool value) = 0;
00253
00277 virtual void setProperty(const XMLCh* const name, void* value) = 0 ;
00278
00304 virtual void parse
00305 (
00306 const InputSource& source
00307 ) = 0;
00308
00328 virtual void parse
00329 (
00330 const XMLCh* const systemId
00331 ) = 0;
00332
00352 virtual void parse
00353 (
00354 const char* const systemId
00355 ) = 0;
00356
00358
00359
00360
00361
00369 virtual DeclHandler* getDeclarationHandler() const = 0 ;
00370
00376 virtual LexicalHandler* getLexicalHandler() const = 0 ;
00377
00394 virtual void setDeclarationHandler(DeclHandler* const handler) = 0;
00395
00412 virtual void setLexicalHandler(LexicalHandler* const handler) = 0;
00413
00415
00416
00417
00418
00431 virtual XMLValidator* getValidator() const = 0;
00432
00443 virtual XMLSize_t getErrorCount() const = 0 ;
00444
00458 virtual bool getExitOnFirstFatalError() const = 0;
00459
00474 virtual bool getValidationConstraintFatal() const = 0;
00475
00482 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) = 0;
00483
00489 virtual Grammar* getRootGrammar() = 0;
00490
00497 virtual const XMLCh* getURIText(unsigned int uriId) const = 0;
00498
00505 virtual XMLFilePos getSrcOffset() const = 0;
00506
00508
00509
00510
00511
00523 virtual void setValidator(XMLValidator* valueToAdopt) = 0;
00524
00546 virtual void setExitOnFirstFatalError(const bool newState) = 0;
00547
00573 virtual void setValidationConstraintFatal(const bool newState) = 0;
00575
00576
00577
00578
00579
00580
00583
00611 virtual bool parseFirst
00612 (
00613 const XMLCh* const systemId
00614 , XMLPScanToken& toFill
00615 ) = 0;
00616
00644 virtual bool parseFirst
00645 (
00646 const char* const systemId
00647 , XMLPScanToken& toFill
00648 ) = 0;
00649
00677 virtual bool parseFirst
00678 (
00679 const InputSource& source
00680 , XMLPScanToken& toFill
00681 ) = 0;
00682
00707 virtual bool parseNext(XMLPScanToken& token) = 0;
00708
00730 virtual void parseReset(XMLPScanToken& token) = 0;
00731
00733
00734
00735
00736
00737
00766 virtual Grammar* loadGrammar(const InputSource& source,
00767 const Grammar::GrammarType grammarType,
00768 const bool toCache = false) = 0;
00769
00794 virtual Grammar* loadGrammar(const XMLCh* const systemId,
00795 const Grammar::GrammarType grammarType,
00796 const bool toCache = false) = 0;
00797
00821 virtual Grammar* loadGrammar(const char* const systemId,
00822 const Grammar::GrammarType grammarType,
00823 const bool toCache = false) = 0;
00824
00828 virtual void resetCachedGrammarPool() = 0;
00829
00840 virtual void setInputBufferSize(const XMLSize_t bufferSize);
00841
00843
00844
00845
00846
00847
00848
00864 virtual void installAdvDocHandler(XMLDocumentHandler* const toInstall) = 0;
00865
00875 virtual bool removeAdvDocHandler(XMLDocumentHandler* const toRemove) = 0;
00877
00878 private :
00879
00880 SAX2XMLReader(const SAX2XMLReader&);
00881
00882
00883 SAX2XMLReader& operator=(const SAX2XMLReader&);
00884
00885 };
00886
00887 inline void SAX2XMLReader::setInputBufferSize(const XMLSize_t )
00888 {
00889 }
00890
00891 XERCES_CPP_NAMESPACE_END
00892
00893 #endif