00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(VALIDATION_CONTEXT_HPP)
00022 #define VALIDATION_CONTEXT_HPP
00023
00024 #include <xercesc/util/PlatformUtils.hpp>
00025 #include <xercesc/util/RefHashTableOf.hpp>
00026 #include <xercesc/util/NameIdPool.hpp>
00027 #include <xercesc/util/XMemory.hpp>
00028
00029 XERCES_CPP_NAMESPACE_BEGIN
00030
00031 class XMLRefInfo;
00032 class DTDEntityDecl;
00033 class DatatypeValidator;
00034
00035 class ValidationContext : public XMemory
00036 {
00037 public :
00038
00040
00042
00047 virtual ~ValidationContext(){};
00049
00050
00052
00054
00059 virtual RefHashTableOf<XMLRefInfo>* getIdRefList() const = 0;
00060
00061 virtual void setIdRefList(RefHashTableOf<XMLRefInfo>* const) = 0;
00062
00063 virtual void clearIdRefList() = 0;
00064
00065 virtual void addId(const XMLCh * const ) = 0;
00066
00067 virtual void addIdRef(const XMLCh * const ) = 0;
00068
00069 virtual void toCheckIdRefList(bool) = 0;
00070
00075 virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const = 0;
00076
00077 virtual const NameIdPool<DTDEntityDecl>* setEntityDeclPool(const NameIdPool<DTDEntityDecl>* const) = 0;
00078
00079 virtual void checkEntity(const XMLCh * const ) const = 0 ;
00080
00086 virtual DatatypeValidator * getValidatingMemberType() const = 0 ;
00087 virtual void setValidatingMemberType(DatatypeValidator * validatingMemberType) = 0 ;
00088
00090
00091
00092 protected :
00093
00095
00097 ValidationContext(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager)
00098 :fMemoryManager(memMgr)
00099 {
00100 };
00102
00103
00104
00105
00106
00107
00108
00109 MemoryManager* fMemoryManager;
00110
00111 private :
00112
00114
00116 ValidationContext(const ValidationContext& );
00117 ValidationContext& operator=(const ValidationContext& );
00119
00120 };
00121
00122 XERCES_CPP_NAMESPACE_END
00123
00124 #endif
00125