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 NamespaceScope;
00037 class XMLScanner;
00038
00039 class XMLPARSER_EXPORT ValidationContext : public XMemory
00040 {
00041 public :
00042
00044
00046
00051 virtual ~ValidationContext(){};
00053
00054
00056
00058
00063 virtual RefHashTableOf<XMLRefInfo>* getIdRefList() const = 0;
00064
00065 virtual void setIdRefList(RefHashTableOf<XMLRefInfo>* const) = 0;
00066
00067 virtual void clearIdRefList() = 0;
00068
00069 virtual void addId(const XMLCh * const ) = 0;
00070
00071 virtual void addIdRef(const XMLCh * const ) = 0;
00072
00073 virtual void toCheckIdRefList(bool) = 0;
00074
00079 virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const = 0;
00080
00081 virtual const NameIdPool<DTDEntityDecl>* setEntityDeclPool(const NameIdPool<DTDEntityDecl>* const) = 0;
00082
00083 virtual void checkEntity(const XMLCh * const ) const = 0 ;
00084
00090 virtual DatatypeValidator * getValidatingMemberType() const = 0 ;
00091 virtual void setValidatingMemberType(DatatypeValidator * validatingMemberType) = 0 ;
00092
00097 virtual bool isPrefixUnknown(XMLCh* ) { return true; };
00098 virtual void setElemStack(ElemStack* ) {};
00099 virtual const XMLCh* getURIForPrefix(XMLCh* ) { return 0; };
00100 virtual void setScanner(XMLScanner* ) { };
00101 virtual void setNamespaceScope(NamespaceScope* ) { };
00102
00104
00105
00106 protected :
00107
00109
00111 ValidationContext(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager)
00112 :fMemoryManager(memMgr)
00113 {
00114 };
00116
00117
00118
00119
00120
00121
00122
00123 MemoryManager* fMemoryManager;
00124
00125 private :
00126
00128
00130 ValidationContext(const ValidationContext& );
00131 ValidationContext& operator=(const ValidationContext& );
00133
00134 };
00135
00136 XERCES_CPP_NAMESPACE_END
00137
00138 #endif
00139