<p>The <aclass="el"href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> struct represents a prepared query, and allows the user to execute that query any number of times.
<trclass="memdesc:a04be56651df9f3f47aecd99a0b0ad66e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a dynamic context suitable for use in the <aclass="el"href="structXQC__Expression__s.html#a3181579fa2677d43c29efd31a649726c"title="Executes the query represented by the XQC_Expression object using the values in the XQC_DynamicContex...">execute()</a> function. <ahref="#a04be56651df9f3f47aecd99a0b0ad66e">More...</a><br/></td></tr>
<trclass="memdesc:a3181579fa2677d43c29efd31a649726c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Executes the query represented by the XQC_Expression object using the values in the <aclass="el"href="xqc_8h.html#acf4c0769616363086377cb527484d33e">XQC_DynamicContext</a> if provided. <ahref="#a3181579fa2677d43c29efd31a649726c">More...</a><br/></td></tr>
<trclass="memdesc:acc0d2caee9f7a61e68c57d18c1d4bd66"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Called to retrieve an implementation specific interface. <ahref="#acc0d2caee9f7a61e68c57d18c1d4bd66">More...</a><br/></td></tr>
<trclass="memdesc:a6aa28a94f0ff6732c26f131bbe4d44a9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Called to free the resources associated with the XQC_Expression. <ahref="#a6aa28a94f0ff6732c26f131bbe4d44a9">More...</a><br/></td></tr>
<divclass="textblock"><p>The <aclass="el"href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> struct represents a prepared query, and allows the user to execute that query any number of times. </p>
<p>An <aclass="el"href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object is thread-safe and can be used by multiple threads of execution at the same time.</p>
<p><aclass="el"href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> objects are created by calling the <aclass="el"href="structXQC__Implementation__s.html#a4f82aa0b0e5c675f95f6c78b3bf76216"title="Prepares a query from a UTF-8 string, returning an XQC_Expression object. ">XQC_Implementation::prepare()</a>, <aclass="el"href="structXQC__Implementation__s.html#a1ad25fbbed1449a0923e3ea274c81336"title="Prepares a query from a FILE pointer, returning an XQC_Expression object. ">XQC_Implementation::prepare_file()</a> and <aclass="el"href="structXQC__Implementation__s.html#a5f43c181bbab51770a3c1c8943060745"title="Prepares a query from an XQC_InputStream, returning an XQC_Expression object. ">XQC_Implementation::prepare_stream()</a> functions. Once created, the user is responsible for freeing the object by calling the <aclass="el"href="structXQC__Expression__s.html#a6aa28a94f0ff6732c26f131bbe4d44a9"title="Called to free the resources associated with the XQC_Expression. ">free()</a> function. The <aclass="el"href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object should be freed before the <aclass="el"href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> object that created it.</p>
<dl><dt><b>Examples: </b></dt><dd><aclass="el"href="xqc-basic_8c-example.html#_a1">xqc-basic.c</a>, and <aclass="el"href="xqc-context-item_8c-example.html#_a1">xqc-context-item.c</a>.</dd>
</dl></div><h2class="groupheader">Member Data Documentation</h2>
<p>Creates a dynamic context suitable for use in the <aclass="el"href="structXQC__Expression__s.html#a3181579fa2677d43c29efd31a649726c"title="Executes the query represented by the XQC_Expression object using the values in the XQC_DynamicContex...">execute()</a> function. </p>
<p>The user is responsible for freeing the <aclass="el"href="xqc_8h.html#acf4c0769616363086377cb527484d33e">XQC_DynamicContext</a> object returned by calling <aclass="el"href="structXQC__DynamicContext__s.html#ad40117a7e2dd660ea7478c4cc5124eab"title="Called to free the resources associated with the XQC_DynamicContext. ">XQC_DynamicContext::free()</a>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir"></td><tdclass="paramname">expression</td><td>The XQC_Expression that this function pointer is a member of. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">context</td><td>The newly created XQC_DynamicContext object.</td></tr>
<tr><tdclass="paramname"><aclass="el"href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768"title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
<p>Executes the query represented by the XQC_Expression object using the values in the <aclass="el"href="xqc_8h.html#acf4c0769616363086377cb527484d33e">XQC_DynamicContext</a> if provided. </p>
<p>An <aclass="el"href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> object is returned which can be used to examine the results of the query execution. The user is responsible for freeing the <aclass="el"href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> object returned by calling <aclass="el"href="structXQC__Sequence__s.html#a13ab651edb4e0754cb8a032e2bce50b0"title="Called to free the resources associated with the XQC_Sequence. ">XQC_Sequence::free()</a>.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir"></td><tdclass="paramname">expression</td><td>The XQC_Expression that this function pointer is a member of. </td></tr>
<tr><tdclass="paramdir"></td><tdclass="paramname">context</td><td>The dynamic context information to use when executing the query, or 0 to use the implementation defined default dynamic context. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">sequence</td><td>The newly created XQC_Sequence object.</td></tr>
<tr><tdclass="paramname"><aclass="el"href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768"title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
<tr><tdclass="paramname"><aclass="el"href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3faeb68302bd3ceab3cb9d9473afd06248a"title="A type error has occured while preparing or executing the query. ">XQC_TYPE_ERROR</a></td><td></td></tr>
<tr><tdclass="paramname"><aclass="el"href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa1ece0ad69a59c3f0ce59b841ded10f9d"title="A dynamic error has occured while preparing or executing the query. ">XQC_DYNAMIC_ERROR</a></td><td></td></tr>
<dl><dt><b>Examples: </b></dt><dd><aclass="el"href="xqc-basic_8c-example.html#a6">xqc-basic.c</a>, and <aclass="el"href="xqc-context-item_8c-example.html#a11">xqc-context-item.c</a>.</dd>
<dl><dt><b>Examples: </b></dt><dd><aclass="el"href="xqc-basic_8c-example.html#a12">xqc-basic.c</a>, and <aclass="el"href="xqc-context-item_8c-example.html#a17">xqc-context-item.c</a>.</dd>