<h1>DynamicContext.hpp</h1><ahref="DynamicContext_8hpp.html">Go to the documentation of this file.</a><divclass="fragment"><preclass="fragment"><aname="l00001"></a>00001 <spanclass="comment">/*</span>
<aname="l00026"></a>00026 <spanclass="keyword">class </span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a>;
<aname="l00027"></a>00027 <spanclass="keyword">class </span><aclass="code"href="classResult.html"title="A scoped pointer wrapper for the lazily evaluated query result.">Result</a>;
<aname="l00029"></a>00029 <spanclass="keyword">class </span><aclass="code"href="classURIResolver.html"title="This is an abstract class used to resolve URIs in different ways.">URIResolver</a>;
<aname="l00030"></a>00030 <spanclass="keyword">class </span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a>;
<aname="l00033"></a>00033 <spanclass="keyword">class </span><aclass="code"href="classRegexGroupStore.html"title="The pure virtual base class for accessing regular expression group values at runtime...">RegexGroupStore</a>;
<aname="l00034"></a>00034 <spanclass="keyword">class </span><aclass="code"href="classDebugListener.html"title="A class used to listen for debugging information.">DebugListener</a>;
<aname="l00035"></a>00035 <spanclass="keyword">class </span><aclass="code"href="classStackFrame.html"title="A class that represents an item in a query call stack.">StackFrame</a>;
<aname="l00036"></a>00036
<aname="l00038"></a><aclass="code"href="classDynamicContext.html">00038</a><spanclass="keyword">class </span>XQILLA_API <aclass="code"href="classDynamicContext.html"title="The execution time dynamic context interface.">DynamicContext</a> : <spanclass="keyword">public</span><aclass="code"href="classStaticContext.html"title="The parse time static context interface.">StaticContext</a>
<aname="l00065"></a>00065 <spanclass="keyword">virtual</span><spanclass="keyword">const</span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a>* getVariableStore() <spanclass="keyword">const</span> = 0;
<aname="l00067"></a>00067 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setVariableStore(<spanclass="keyword">const</span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a> *store) = 0;
<aname="l00069"></a>00069 <spanclass="keyword">virtual</span><spanclass="keyword">const</span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a>* getGlobalVariableStore() <spanclass="keyword">const</span> = 0;
<aname="l00071"></a>00071 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setGlobalVariableStore(<spanclass="keyword">const</span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a> *store) = 0;
<aname="l00073"></a>00073 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setExternalVariable(<spanclass="keyword">const</span> XMLCh *namespaceURI, <spanclass="keyword">const</span> XMLCh *name, <spanclass="keyword">const</span><aclass="code"href="classResult.html"title="A scoped pointer wrapper for the lazily evaluated query result.">Result</a>&value) = 0;
<aname="l00075"></a>00075 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setExternalVariable(<spanclass="keyword">const</span> XMLCh *qname, <spanclass="keyword">const</span><aclass="code"href="classResult.html"title="A scoped pointer wrapper for the lazily evaluated query result.">Result</a>&value) = 0;
<aname="l00078"></a>00078 <spanclass="keyword">virtual</span><spanclass="keyword">const</span><aclass="code"href="classRegexGroupStore.html"title="The pure virtual base class for accessing regular expression group values at runtime...">RegexGroupStore</a>* getRegexGroupStore() <spanclass="keyword">const</span> = 0;
<aname="l00080"></a>00080 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setRegexGroupStore(<spanclass="keyword">const</span><aclass="code"href="classRegexGroupStore.html"title="The pure virtual base class for accessing regular expression group values at runtime...">RegexGroupStore</a> *store) = 0;
<aname="l00088"></a>00088 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">ATDurationOrDerived::Ptr</a> getImplicitTimezone() <spanclass="keyword">const</span> = 0;
<aname="l00090"></a>00090 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setImplicitTimezone(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">ATDurationOrDerived::Ptr</a>&timezoneAsDuration) = 0;
<aname="l00091"></a>00091
<aname="l00093"></a>00093 <spanclass="comment">// XQilla context specific accessors //</span>
<aname="l00108"></a>00108 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> registerURIResolver(<aclass="code"href="classURIResolver.html"title="This is an abstract class used to resolve URIs in different ways.">URIResolver</a> *resolver, <spanclass="keywordtype">bool</span> adopt) = 0;
<aname="l00110"></a>00110 <spanclass="keyword">virtual</span><aclass="code"href="classURIResolver.html"title="This is an abstract class used to resolve URIs in different ways.">URIResolver</a> *getDefaultURIResolver() <spanclass="keyword">const</span> = 0;
<aname="l00112"></a>00112 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setDefaultURIResolver(<aclass="code"href="classURIResolver.html"title="This is an abstract class used to resolve URIs in different ways.">URIResolver</a> *resolver, <spanclass="keywordtype">bool</span> adopt) = 0;
<aname="l00113"></a>00113
<aname="l00115"></a>00115 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setDebugListener(<aclass="code"href="classDebugListener.html"title="A class used to listen for debugging information.">DebugListener</a> *listener) = 0;
<aname="l00117"></a>00117 <spanclass="keyword">virtual</span><aclass="code"href="classDebugListener.html"title="A class used to listen for debugging information.">DebugListener</a> *getDebugListener() <spanclass="keyword">const</span> = 0;
<aname="l00118"></a>00118
<aname="l00120"></a>00120 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setStackFrame(<spanclass="keyword">const</span><aclass="code"href="classStackFrame.html"title="A class that represents an item in a query call stack.">StackFrame</a> *frame) = 0;
<aname="l00122"></a>00122 <spanclass="keyword">virtual</span><spanclass="keyword">const</span><aclass="code"href="classStackFrame.html"title="A class that represents an item in a query call stack.">StackFrame</a> *getStackFrame() <spanclass="keyword">const</span> = 0;
<aname="l00123"></a>00123
<aname="l00125"></a>00125 <spanclass="keyword">virtual</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Node::Ptr</a> parseDocument(XERCES_CPP_NAMESPACE_QUALIFIER InputSource &srcToUse,
<aname="l00126"></a>00126 <spanclass="keyword">const</span><aclass="code"href="classLocationInfo.html"title="A class that gives records a location in the query.">LocationInfo</a> *location = 0, <spanclass="keyword">const</span> QueryPathNode *projection = 0) = 0;
<aname="l00129"></a>00129 <spanclass="keyword">virtual</span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a> resolveDocument(<spanclass="keyword">const</span> XMLCh* uri, <spanclass="keyword">const</span><aclass="code"href="classLocationInfo.html"title="A class that gives records a location in the query.">LocationInfo</a> *location = 0,
<aname="l00133"></a>00133 <spanclass="keyword">virtual</span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a> resolveCollection(<spanclass="keyword">const</span> XMLCh* uri, <spanclass="keyword">const</span><aclass="code"href="classLocationInfo.html"title="A class that gives records a location in the query.">LocationInfo</a> *location = 0,
<aname="l00136"></a>00136 <spanclass="keyword">virtual</span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a> resolveDefaultCollection(<spanclass="keyword">const</span> QueryPathNode *projection = 0) = 0;
<aname="l00137"></a>00137
<aname="l00140"></a>00140 <spanclass="keyword">virtual</span><spanclass="keywordtype">bool</span> putDocument(<spanclass="keyword">const</span><aclass="code"href="classRefCountPointer.html"title="Super class of all the reference counted wrappers for Items.">Node::Ptr</a>&document, <spanclass="keyword">const</span> XMLCh *uri) = 0;