22 #ifndef _STATICCONTEXT_HPP
23 #define _STATICCONTEXT_HPP
25 #include <xqilla/framework/XQillaExport.hpp>
35 class DatatypeFactory;
46 class XQillaNSResolver;
50 typedef std::vector<XQUserFunction*, XQillaAllocator<XQUserFunction*> >
UserFunctions;
52 XERCES_CPP_NAMESPACE_BEGIN
54 class DOMXPathNSResolver;
55 class XMLEntityResolver;
56 XERCES_CPP_NAMESPACE_END
59 class XQILLA_API
StaticContext :
public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
69 CONSTRUCTION_MODE_STRIP
74 FLWOR_ORDER_EMPTY_LEAST
79 virtual DynamicContext *createModuleContext(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
80 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)
const = 0;
81 virtual DynamicContext *createDynamicContext(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
82 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)
const = 0;
85 size_t contextPosition,
88 const XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver *nsResolver,
89 const XMLCh *defaultElementNS,
90 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
91 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)
const = 0;
103 virtual void setItemFactory(
ItemFactory *factory) = 0;
106 virtual const StaticType &getContextItemType()
const = 0;
108 virtual void setContextItemType(
const StaticType &st) = 0;
111 virtual bool getXPath1CompatibilityMode()
const = 0;
113 virtual void setXPath1CompatibilityMode(
bool newMode) = 0;
116 virtual const XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver* getNSResolver()
const = 0;
119 virtual const XMLCh* getUriBoundToPrefix(
const XMLCh* prefix,
const LocationInfo *location = 0)
const = 0;
122 virtual const XMLCh* getPrefixBoundToUri(
const XMLCh* uri)
const = 0;
124 virtual void setNSResolver(
const XERCES_CPP_NAMESPACE_QUALIFIER DOMXPathNSResolver* resolver) = 0;
126 virtual void setNamespaceBinding(
const XMLCh* prefix,
const XMLCh* uri) = 0;
129 virtual const XMLCh* getDefaultElementAndTypeNS()
const = 0;
131 virtual void setDefaultElementAndTypeNS(
const XMLCh* newNS) = 0;
134 virtual const XMLCh* getDefaultFuncNS()
const = 0;
136 virtual void setDefaultFuncNS(
const XMLCh* newNS) = 0;
151 virtual bool isTypeOrDerivedFromType(
const XMLCh*
const uri,
const XMLCh*
const typeName,
const XMLCh*
const uriToCheck,
const XMLCh*
const typeNameToCheck)
const = 0;
157 virtual void setXMLEntityResolver(XERCES_CPP_NAMESPACE_QUALIFIER XMLEntityResolver*
const handler) = 0;
159 virtual XERCES_CPP_NAMESPACE_QUALIFIER XMLEntityResolver* getXMLEntityResolver()
const = 0;
175 virtual void addTemplate(XQUserFunction *tp) = 0;
177 virtual const XQUserFunction *lookUpNamedTemplate(
const XMLCh *uri,
const XMLCh *name)
const = 0;
182 virtual void addCustomFunction(FuncFactory *func) = 0;
184 virtual void removeCustomFunction(FuncFactory *func) = 0;
186 virtual ASTNode *lookUpFunction(
const XMLCh *uri,
const XMLCh *name,
const VectorOfASTNodes &v)
const = 0;
195 virtual const ExternalFunction *lookUpExternalFunction(
const XMLCh *uri,
const XMLCh *name,
size_t numArgs)
const = 0;
200 virtual void addCollation(
Collation* collation) = 0;
205 virtual void setDefaultCollation(
const XMLCh*
const URI) = 0;
208 virtual const XMLCh* getBaseURI()
const = 0;
210 virtual void setBaseURI(
const XMLCh* newURI) = 0;
213 virtual NodeSetOrdering getNodeSetOrdering()
const = 0;
215 virtual void setNodeSetOrdering(NodeSetOrdering newOrder) = 0;
218 virtual ConstructionMode getConstructionMode()
const = 0;
220 virtual void setConstructionMode(ConstructionMode newMode) = 0;
223 virtual void setPreserveBoundarySpace(
bool value) = 0;
225 virtual bool getPreserveBoundarySpace()
const = 0;
228 virtual FLWOROrderingMode getDefaultFLWOROrderingMode()
const = 0;
230 virtual void setDefaultFLWOROrderingMode(FLWOROrderingMode newMode) = 0;
233 virtual void setInheritNamespaces(
bool value) = 0;
235 virtual bool getInheritNamespaces()
const = 0;
238 virtual void setPreserveNamespaces(
bool value) = 0;
240 virtual bool getPreserveNamespaces()
const = 0;
269 virtual bool getProjection()
const = 0;
286 virtual void setProjection(
bool enabled) = 0;
288 virtual bool getDoLintWarnings()
const = 0;
289 virtual void setDoLintWarnings(
bool enabled) = 0;
292 virtual const XMLCh *allocateTempVarName(
const XMLCh *prefix = 0) = 0;