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_VALIDATION_CONTEXT_HPP)
00023 #define XERCESC_INCLUDE_GUARD_VALIDATION_CONTEXT_HPP
00024
00025 #include <xercesc/util/PlatformUtils.hpp>
00026 #include <xercesc/util/RefHashTableOf.hpp>
00027 #include <xercesc/util/NameIdPool.hpp>
00028 #include <xercesc/util/XMemory.hpp>
00029
00030 XERCES_CPP_NAMESPACE_BEGIN
00031
00032 class XMLRefInfo;
00033 class DTDEntityDecl;
00034 class DatatypeValidator;
00035 class ElemStack;
00036 class XMLScanner;
00037
00038 class XMLPARSER_EXPORT ValidationContext : public XMemory
00039 {
00040 public :
00041
00043
00045
00050 virtual ~ValidationContext(){};
00052
00053
00055
00057
00062 virtual RefHashTableOf<XMLRefInfo>* getIdRefList() const = 0;
00063
00064 virtual void setIdRefList(RefHashTableOf<XMLRefInfo>* const) = 0;
00065
00066 virtual void clearIdRefList() = 0;
00067
00068 virtual void addId(const XMLCh * const ) = 0;
00069
00070 virtual void addIdRef(const XMLCh * const ) = 0;
00071
00072 virtual void toCheckIdRefList(bool) = 0;
00073
00078 virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const = 0;
00079
00080 virtual const NameIdPool<DTDEntityDecl>* setEntityDeclPool(const NameIdPool<DTDEntityDecl>* const) = 0;
00081
00082 virtual void checkEntity(const XMLCh * const ) const = 0 ;
00083
00089 virtual DatatypeValidator * getValidatingMemberType() const = 0 ;
00090 virtual void setValidatingMemberType(DatatypeValidator * validatingMemberType) = 0 ;
00091
00096 virtual bool isPrefixUnknown(XMLCh* ) { return true; };
00097 virtual void setElemStack(ElemStack* ) {};
00098 virtual const XMLCh* getURIForPrefix(XMLCh* ) { return 0; };
00099 virtual void setScanner(XMLScanner* ) { };
00100
00102
00103
00104 protected :
00105
00107
00109 ValidationContext(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager)
00110 :fMemoryManager(memMgr)
00111 {
00112 };
00114
00115
00116
00117
00118
00119
00120
00121 MemoryManager* fMemoryManager;
00122
00123 private :
00124
00126
00128 ValidationContext(const ValidationContext& );
00129 ValidationContext& operator=(const ValidationContext& );
00131
00132 };
00133
00134 XERCES_CPP_NAMESPACE_END
00135
00136 #endif
00137