25 #include <xqilla/framework/XQillaExport.hpp>
31 #include <xqilla/runtime/LazySequenceResult.hpp>
36 class XQGlobalVariable;
37 class XQUserFunctionInstance;
40 typedef std::vector<XQGlobalVariable*, XQillaAllocator<XQGlobalVariable*> >
GlobalVariables;
57 class XQILLA_API
XQQuery :
public XERCES_CPP_NAMESPACE_QUALIFIER XMemory
74 DynamicContext *createDynamicContext(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
75 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)
const;
183 void staticResolution();
197 void staticTyping(StaticTyper *styper = 0);
205 const XMLCh* getQueryText()
const;
208 std::string getQueryPlan()
const;
216 ASTNode* getQueryBody()
const;
218 void setQueryBody(ASTNode* query);
221 void addFunction(XQUserFunction* fnDef);
226 void addVariable(XQGlobalVariable* varDef);
234 const XMLCh* getFile()
const;
236 void setFile(
const XMLCh* file);
246 void setIsLibraryModule(
bool bIsModule=
true);
248 bool getIsLibraryModule()
const;
250 void setModuleTargetNamespace(
const XMLCh* uri);
252 const XMLCh* getModuleTargetNamespace()
const;
263 QueryResult(
const XQQuery *query);
274 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager *memMgr =
275 XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager);
284 XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* m_memMgr;
292 bool m_bIsLibraryModule;
293 const XMLCh* m_szTargetNamespace;
294 const XMLCh* m_szQueryText;
295 const XMLCh* m_szCurrentFile;
301 friend class QueryResult;