<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="l00028"></a>00028 <spanclass="keyword">class </span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a>;
<aname="l00030"></a>00030 <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="l00031"></a>00031 <spanclass="keyword">class </span><aclass="code"href="classVariableStore.html"title="The pure virtual base class for accessing variables at runtime.">VariableStore</a>;
<aname="l00034"></a>00034 <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="l00035"></a>00035 <spanclass="keyword">class </span><aclass="code"href="classDebugListener.html"title="A class used to listen for debugging information.">DebugListener</a>;
<aname="l00036"></a>00036 <spanclass="keyword">class </span><aclass="code"href="classStackFrame.html"title="A class that represents an item in a query call stack.">StackFrame</a>;
<aname="l00037"></a>00037
<aname="l00039"></a><aclass="code"href="classDynamicContext.html">00039</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="l00066"></a>00066 <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="l00068"></a>00068 <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="l00070"></a>00070 <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="l00072"></a>00072 <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="l00074"></a>00074 <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="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a>&value) = 0;
<aname="l00076"></a>00076 <spanclass="keyword">virtual</span><spanclass="keywordtype">void</span> setExternalVariable(<spanclass="keyword">const</span> XMLCh *qname, <spanclass="keyword">const</span><aclass="code"href="classSequence.html"title="An eagerly evaluated result of a query execution.">Sequence</a>&value) = 0;
<aname="l00077"></a>00077
<aname="l00079"></a>00079 <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="l00081"></a>00081 <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="l00089"></a>00089 <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="l00091"></a>00091 <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="l00092"></a>00092
<aname="l00094"></a>00094 <spanclass="comment">// XQilla context specific accessors //</span>
<aname="l00109"></a>00109 <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="l00111"></a>00111 <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="l00113"></a>00113 <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="l00114"></a>00114
<aname="l00116"></a>00116 <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="l00118"></a>00118 <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="l00119"></a>00119
<aname="l00121"></a>00121 <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="l00123"></a>00123 <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="l00124"></a>00124
<aname="l00126"></a>00126 <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="l00127"></a>00127 <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="l00130"></a>00130 <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="l00134"></a>00134 <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="l00137"></a>00137 <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="l00138"></a>00138
<aname="l00141"></a>00141 <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;