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