00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _VARIABLETYPESTORE_HPP
00015 #define _VARIABLETYPESTORE_HPP
00016
00017 #include <xqilla/framework/XQillaExport.hpp>
00018 #include <xercesc/util/XercesDefs.hpp>
00019 #include <xercesc/util/XMemory.hpp>
00020
00021 class SequenceType;
00022 class XPath2MemoryManager;
00023 class StaticResolutionContext;
00024
00027 class XQILLA_API VariableTypeStore : public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
00028 {
00029 public:
00031 virtual ~VariableTypeStore() {};
00032
00034 virtual void clear() = 0;
00035
00037 virtual void addLocalScope() = 0;
00039 virtual void addLogicalBlockScope() = 0;
00042 virtual void removeScope() = 0;
00043
00045 virtual void declareGlobalVar(const XMLCh* namespaceURI, const XMLCh* name,
00046 const StaticResolutionContext &src) = 0;
00047
00049 virtual const StaticResolutionContext* getGlobalVar(const XMLCh* namespaceURI,
00050 const XMLCh* name) const = 0;
00051
00054 virtual void declareVar(const XMLCh* namespaceURI, const XMLCh* name,
00055 const StaticResolutionContext &src) = 0;
00056
00060 virtual const StaticResolutionContext *getVar(const XMLCh* namespaceURI,
00061 const XMLCh* name) const = 0;
00062 };
00063
00064 #endif