<ahref="xqc_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/*</span></div>
<divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> * Copyright (c) 2008, Matthias Brantner, John Snelson</span></div>
<divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> * All rights reserved.</span></div>
<divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> <spanclass="comment"> * modification, are permitted provided that the following conditions are met:</span></div>
<divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> <spanclass="comment"> * * Redistributions of source code must retain the above copyright notice,</span></div>
<divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> <spanclass="comment"> * this list of conditions and the following disclaimer.</span></div>
<divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> <spanclass="comment"> * * Redistributions in binary form must reproduce the above copyright</span></div>
<divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment"> * notice, this list of conditions and the following disclaimer in the</span></div>
<divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment"> * documentation and/or other materials provided with the distribution.</span></div>
<divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment"> * * Neither the name of the developers nor the names of contributors may be</span></div>
<divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="comment"> * used to endorse or promote products derived from this software without</span></div>
<divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="comment"> * specific prior written permission.</span></div>
<divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span></div>
<divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
<divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
<divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE</span></div>
<divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div>
<divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div>
<divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div>
<divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div>
<divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div>
<divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spanclass="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_aa4e8b52a4b99929b5136e54b1675fa6d"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#aa4e8b52a4b99929b5136e54b1675fa6d">XQC_StaticContext_s::declare_ns</a></div><divclass="ttdeci">XQC_Error(* declare_ns)(XQC_StaticContext *context, const char *prefix, const char *uri)</div><divclass="ttdoc">Adds a (prefix, uri) pair to the set of statically known namespaces of the given context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:435</div></div>
<divclass="ttc"id="structXQC__InputStream__s_html_a9dd7b49bdfaf09c4070c43aa5a0e0c66"><divclass="ttname"><ahref="structXQC__InputStream__s.html#a9dd7b49bdfaf09c4070c43aa5a0e0c66">XQC_InputStream_s::read</a></div><divclass="ttdeci">unsigned int(* read)(XQC_InputStream *stream, void *buffer, unsigned int length)</div><divclass="ttdoc">The function called to read more of the input query. </div><divclass="ttdef"><b>Definition:</b> xqc.h:108</div></div>
<divclass="ttc"id="structXQC__InputStream__s_html"><divclass="ttname"><ahref="structXQC__InputStream__s.html">XQC_InputStream_s</a></div><divclass="ttdoc">The XQC_InputStream struct is designed to be populated by users for the purpose of streaming data int...</div><divclass="ttdef"><b>Definition:</b> xqc.h:81</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_ad1708e34ad5052e3441c07fc2578c32a"><divclass="ttname"><ahref="structXQC__Implementation__s.html#ad1708e34ad5052e3441c07fc2578c32a">XQC_Implementation_s::create_context</a></div><divclass="ttdeci">XQC_Error(* create_context)(XQC_Implementation *implementation, XQC_StaticContext **context)</div><divclass="ttdoc">Creates a static context suitable for use in the prepare(), prepare_file() and prepare_stream() funct...</div><divclass="ttdef"><b>Definition:</b> xqc.h:225</div></div>
<divclass="ttc"id="structXQC__DynamicContext__s_html_a0c69d262bfe4fd038832db4e4db600af"><divclass="ttname"><ahref="structXQC__DynamicContext__s.html#a0c69d262bfe4fd038832db4e4db600af">XQC_DynamicContext_s::set_context_item</a></div><divclass="ttdeci">XQC_Error(* set_context_item)(XQC_DynamicContext *context, XQC_Sequence *value)</div><divclass="ttdoc">Sets the context item to the current item of the XQC_Sequence given. </div><divclass="ttdef"><b>Definition:</b> xqc.h:802</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fa7d62aa302c9a96c9caa4382ae0c42c78"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa7d62aa302c9a96c9caa4382ae0c42c78">XQC_NOT_IMPLEMENTED</a></div><divclass="ttdoc">The implementation does not implement that function. </div><divclass="ttdef"><b>Definition:</b> xqc.h:64</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fa1f3145b072152462b856efc743b1211d"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa1f3145b072152462b856efc743b1211d">XQC_UNRECOGNIZED_ENCODING</a></div><divclass="ttdoc">The encoding of the query has not been recognized, or is not supported by the implementation. </div><divclass="ttdef"><b>Definition:</b> xqc.h:69</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a197e8973fde8e9d272edab94edbc61fa"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a197e8973fde8e9d272edab94edbc61fa">XQC_StaticContext_s::get_ns_by_prefix</a></div><divclass="ttdeci">XQC_Error(* get_ns_by_prefix)(XQC_StaticContext *context, const char *prefix, const char **result_ns)</div><divclass="ttdoc">Returns the namespace uri that belongs to the given prefix. </div><divclass="ttdef"><b>Definition:</b> xqc.h:449</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a2e0112bce0e0f408c17d5c305ad8b84a"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a2e0112bce0e0f408c17d5c305ad8b84a">XQC_StaticContext_s::free</a></div><divclass="ttdeci">void(* free)(XQC_StaticContext *context)</div><divclass="ttdoc">Called to free the resources associated with the XQC_StaticContext. </div><divclass="ttdef"><b>Definition:</b> xqc.h:691</div></div>
<divclass="ttc"id="xqc_8h_html_af237564a5ce94621e2d2251318b02e52"><divclass="ttname"><ahref="xqc_8h.html#af237564a5ce94621e2d2251318b02e52">XQC_ConstructionMode</a></div><divclass="ttdeci">XQC_ConstructionMode</div><divclass="ttdoc">Construction mode as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:392</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_a4f82aa0b0e5c675f95f6c78b3bf76216"><divclass="ttname"><ahref="structXQC__Implementation__s.html#a4f82aa0b0e5c675f95f6c78b3bf76216">XQC_Implementation_s::prepare</a></div><divclass="ttdeci">XQC_Error(* prepare)(XQC_Implementation *implementation, const char *string, const XQC_StaticContext *context, XQC_Expression **expression)</div><divclass="ttdoc">Prepares a query from a UTF-8 string, returning an XQC_Expression object. </div><divclass="ttdef"><b>Definition:</b> xqc.h:244</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a8006fb39a40dc3ae76e7c76725d54370"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a8006fb39a40dc3ae76e7c76725d54370">XQC_StaticContext_s::set_xpath_compatib_mode</a></div><divclass="ttdeci">XQC_Error(* set_xpath_compatib_mode)(XQC_StaticContext *context, XQC_XPath1Mode mode)</div><divclass="ttdoc">Sets the XPath 1.0 compatibility mode to either XQC_XPATH1_0 or XQC_XPATH2_0. </div><divclass="ttdef"><b>Definition:</b> xqc.h:508</div></div>
<divclass="ttc"id="structXQC__InputStream__s_html_a48aaf721537dfba8945afb24511030ac"><divclass="ttname"><ahref="structXQC__InputStream__s.html#a48aaf721537dfba8945afb24511030ac">XQC_InputStream_s::free</a></div><divclass="ttdeci">void(* free)(XQC_InputStream *stream)</div><divclass="ttdoc">Called to free the resources associated with the XQC_InputStream. </div><divclass="ttdef"><b>Definition:</b> xqc.h:116</div></div>
<divclass="ttc"id="xqc_8h_html_aacc56683a32a53ea4168f0b9b16c54e6"><divclass="ttname"><ahref="xqc_8h.html#aacc56683a32a53ea4168f0b9b16c54e6">XQC_XPath1Mode</a></div><divclass="ttdeci">XQC_XPath1Mode</div><divclass="ttdoc">XPath 1.0 compatibility mode as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:359</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fa1ece0ad69a59c3f0ce59b841ded10f9d"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa1ece0ad69a59c3f0ce59b841ded10f9d">XQC_DYNAMIC_ERROR</a></div><divclass="ttdoc">A dynamic error has occured while preparing or executing the query. </div><divclass="ttdef"><b>Definition:</b> xqc.h:73</div></div>
<divclass="ttc"id="structXQC__DynamicContext__s_html_a1920a035b369949457f7a5a091dc33be"><divclass="ttname"><ahref="structXQC__DynamicContext__s.html#a1920a035b369949457f7a5a091dc33be">XQC_DynamicContext_s::set_implicit_timezone</a></div><divclass="ttdeci">XQC_Error(* set_implicit_timezone)(XQC_DynamicContext *context, int timezone)</div><divclass="ttdoc">The timezone given must be between -840 and +840 minutes (-14 and +14 hours). </div><divclass="ttdef"><b>Definition:</b> xqc.h:811</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_ab131f251ca020ce202e31b3bf9ff9369"><divclass="ttname"><ahref="structXQC__Sequence__s.html#ab131f251ca020ce202e31b3bf9ff9369">XQC_Sequence_s::double_value</a></div><divclass="ttdeci">XQC_Error(* double_value)(const XQC_Sequence *sequence, double *value)</div><divclass="ttdoc">Returns the value of the current item in the sequence as a double - this is equivalent to calling fn:...</div><divclass="ttdef"><b>Definition:</b> xqc.h:929</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html"><divclass="ttname"><ahref="structXQC__StaticContext__s.html">XQC_StaticContext_s</a></div><divclass="ttdoc">The XQC_StaticContext struct provides a way to specify values for the static context of the query to ...</div><divclass="ttdef"><b>Definition:</b> xqc.h:404</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a10421f989bb2d7f42b12be2e57a8bfc8"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a10421f989bb2d7f42b12be2e57a8bfc8">XQC_StaticContext_s::set_base_uri</a></div><divclass="ttdeci">XQC_Error(* set_base_uri)(XQC_StaticContext *context, const char *base_uri)</div><divclass="ttdoc">Sets the base uri in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:657</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a785db756c2de3e89d760af92ad43afb6"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a785db756c2de3e89d760af92ad43afb6">XQC_StaticContext_s::create_child_context</a></div><divclass="ttdeci">XQC_Error(* create_child_context)(XQC_StaticContext *context, XQC_StaticContext **child_context)</div><divclass="ttdoc">Creates a child context of the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:421</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3f"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a></div><divclass="ttdeci">XQC_Error</div><divclass="ttdoc">The error enumeration used by all XQC functions to designate error condition. </div><divclass="ttdef"><b>Definition:</b> xqc.h:55</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_a5f43c181bbab51770a3c1c8943060745"><divclass="ttname"><ahref="structXQC__Implementation__s.html#a5f43c181bbab51770a3c1c8943060745">XQC_Implementation_s::prepare_stream</a></div><divclass="ttdeci">XQC_Error(* prepare_stream)(XQC_Implementation *implementation, XQC_InputStream *stream, const XQC_StaticContext *context, XQC_Expression **expression)</div><divclass="ttdoc">Prepares a query from an XQC_InputStream, returning an XQC_Expression object. </div><divclass="ttdef"><b>Definition:</b> xqc.h:290</div></div>
<divclass="ttc"id="structXQC__Expression__s_html_a04be56651df9f3f47aecd99a0b0ad66e"><divclass="ttname"><ahref="structXQC__Expression__s.html#a04be56651df9f3f47aecd99a0b0ad66e">XQC_Expression_s::create_context</a></div><divclass="ttdeci">XQC_Error(* create_context)(const XQC_Expression *expression, XQC_DynamicContext **context)</div><divclass="ttdoc">Creates a dynamic context suitable for use in the execute() function. </div><divclass="ttdef"><b>Definition:</b> xqc.h:720</div></div>
<divclass="ttc"id="xqc_8h_html_a1a645e2e4e29596fe39311fb11d4009f"><divclass="ttname"><ahref="xqc_8h.html#a1a645e2e4e29596fe39311fb11d4009f">XQC_PreserveMode</a></div><divclass="ttdeci">XQC_PreserveMode</div><divclass="ttdoc">Preserve part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:382</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_a0ced435e02516a489e3a892abd1c2764"><divclass="ttname"><ahref="structXQC__Sequence__s.html#a0ced435e02516a489e3a892abd1c2764">XQC_Sequence_s::type_name</a></div><divclass="ttdeci">XQC_Error(* type_name)(const XQC_Sequence *sequence, const char **uri, const char **name)</div><divclass="ttdoc">Returns the type name for the current item as a (URI, localname) pair. </div><divclass="ttdef"><b>Definition:</b> xqc.h:886</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_ac74bba04464c97253c51841079ce09e0"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#ac74bba04464c97253c51841079ce09e0">XQC_StaticContext_s::get_base_uri</a></div><divclass="ttdeci">XQC_Error(* get_base_uri)(XQC_StaticContext *context, const char **base_uri)</div><divclass="ttdoc">Returns the base uri that is set in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:669</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a8a098be9ed3d79bcecb6be9e2a15f2f3"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a8a098be9ed3d79bcecb6be9e2a15f2f3">XQC_StaticContext_s::set_default_function_ns</a></div><divclass="ttdeci">XQC_Error(* set_default_function_ns)(XQC_StaticContext *context, const char *uri)</div><divclass="ttdoc">Sets the default namespace for functions. </div><divclass="ttdef"><b>Definition:</b> xqc.h:484</div></div>
<divclass="ttc"id="xqc_8h_html_a4a1574accd76da4396309cf0e5fa38d1"><divclass="ttname"><ahref="xqc_8h.html#a4a1574accd76da4396309cf0e5fa38d1">XQC_OrderEmptyMode</a></div><divclass="ttdeci">XQC_OrderEmptyMode</div><divclass="ttdoc">Default order for empty sequences as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:370</div></div>
<divclass="ttc"id="structXQC__DynamicContext__s_html_a28763890c7f5031afe80ecb2d46d9fe2"><divclass="ttname"><ahref="structXQC__DynamicContext__s.html#a28763890c7f5031afe80ecb2d46d9fe2">XQC_DynamicContext_s::set_variable</a></div><divclass="ttdeci">XQC_Error(* set_variable)(XQC_DynamicContext *context, const char *uri, const char *name, XQC_Sequence *value)</div><divclass="ttdoc">Sets the external variable to the value given. </div><divclass="ttdef"><b>Definition:</b> xqc.h:779</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768">XQC_INTERNAL_ERROR</a></div><divclass="ttdoc">An implementation specific error has occurred. </div><divclass="ttdef"><b>Definition:</b> xqc.h:63</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a737a5500f0211e7d8fd9c208b33cffff"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a737a5500f0211e7d8fd9c208b33cffff">XQC_StaticContext_s::get_default_function_ns</a></div><divclass="ttdeci">XQC_Error(* get_default_function_ns)(XQC_StaticContext *context, const char **uri)</div><divclass="ttdoc">Returnsthe default namespace for functions set in this static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:496</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_aa5b73efc1810ad280aea351c0c052fd4"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#aa5b73efc1810ad280aea351c0c052fd4">XQC_StaticContext_s::set_ordering_mode</a></div><divclass="ttdeci">XQC_Error(* set_ordering_mode)(XQC_StaticContext *context, XQC_OrderingMode mode)</div><divclass="ttdoc">Sets the ordering mode to either XQC_ORDERED or XQC_UNORDERED. </div><divclass="ttdef"><b>Definition:</b> xqc.h:556</div></div>
<divclass="ttc"id="xqc_8h_html_a180501d6417e8b87f20df61396cf9642"><divclass="ttname"><ahref="xqc_8h.html#a180501d6417e8b87f20df61396cf9642">XQC_OrderingMode</a></div><divclass="ttdeci">XQC_OrderingMode</div><divclass="ttdoc">Ordering mode as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:364</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a4d2fc80156ebad37f6c06f299f1210bf"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a4d2fc80156ebad37f6c06f299f1210bf">XQC_StaticContext_s::get_ordering_mode</a></div><divclass="ttdeci">XQC_Error(* get_ordering_mode)(XQC_StaticContext *context, XQC_OrderingMode *mode)</div><divclass="ttdoc">Returns the ordering mode that is set in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:568</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_afb636b6cbd236831652a518d9e71418d"><divclass="ttname"><ahref="structXQC__Implementation__s.html#afb636b6cbd236831652a518d9e71418d">XQC_Implementation_s::free</a></div><divclass="ttdeci">void(* free)(XQC_Implementation *implementation)</div><divclass="ttdoc">Called to free the resources associated with the XQC_Implementation. </div><divclass="ttdef"><b>Definition:</b> xqc.h:351</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a2887fe53d46a362f54df096be6c8bd5d"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a2887fe53d46a362f54df096be6c8bd5d">XQC_StaticContext_s::get_construction_mode</a></div><divclass="ttdeci">XQC_Error(* get_construction_mode)(XQC_StaticContext *context, XQC_ConstructionMode *mode)</div><divclass="ttdoc">Returns the construction mode that is set in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:544</div></div>
<divclass="ttc"id="structXQC__Expression__s_html_a6aa28a94f0ff6732c26f131bbe4d44a9"><divclass="ttname"><ahref="structXQC__Expression__s.html#a6aa28a94f0ff6732c26f131bbe4d44a9">XQC_Expression_s::free</a></div><divclass="ttdeci">void(* free)(XQC_Expression *expression)</div><divclass="ttdoc">Called to free the resources associated with the XQC_Expression. </div><divclass="ttdef"><b>Definition:</b> xqc.h:757</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a510e5e9af756c2b61046fcfd8fe7a1af"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a510e5e9af756c2b61046fcfd8fe7a1af">XQC_StaticContext_s::set_copy_ns_mode</a></div><divclass="ttdeci">XQC_Error(* set_copy_ns_mode)(XQC_StaticContext *context, XQC_PreserveMode preserve, XQC_InheritMode inherit)</div><divclass="ttdoc">Sets the copy namespace mode which consists of the preserve and the inherit mode. ...</div><divclass="ttdef"><b>Definition:</b> xqc.h:631</div></div>
<divclass="ttc"id="structXQC__DynamicContext__s_html_ad40117a7e2dd660ea7478c4cc5124eab"><divclass="ttname"><ahref="structXQC__DynamicContext__s.html#ad40117a7e2dd660ea7478c4cc5124eab">XQC_DynamicContext_s::free</a></div><divclass="ttdeci">void(* free)(XQC_DynamicContext *context)</div><divclass="ttdoc">Called to free the resources associated with the XQC_DynamicContext. </div><divclass="ttdef"><b>Definition:</b> xqc.h:834</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_a1ad25fbbed1449a0923e3ea274c81336"><divclass="ttname"><ahref="structXQC__Implementation__s.html#a1ad25fbbed1449a0923e3ea274c81336">XQC_Implementation_s::prepare_file</a></div><divclass="ttdeci">XQC_Error(* prepare_file)(XQC_Implementation *implementation, FILE *file, const XQC_StaticContext *context, XQC_Expression **expression)</div><divclass="ttdoc">Prepares a query from a FILE pointer, returning an XQC_Expression object. </div><divclass="ttdef"><b>Definition:</b> xqc.h:266</div></div>
<divclass="ttc"id="structXQC__ErrorHandler__s_html"><divclass="ttname"><ahref="structXQC__ErrorHandler__s.html">XQC_ErrorHandler_s</a></div><divclass="ttdoc">The XQC_ErrorHandler struct is designed to be populated by users for the purpose of collecting more d...</div><divclass="ttdef"><b>Definition:</b> xqc.h:131</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a50e12d46898d711ace78cfa393079231"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a50e12d46898d711ace78cfa393079231">XQC_StaticContext_s::set_construction_mode</a></div><divclass="ttdeci">XQC_Error(* set_construction_mode)(XQC_StaticContext *context, XQC_ConstructionMode mode)</div><divclass="ttdoc">Sets the construction mode to either XQC_PRESERVE_CONS or XQC_StaticContext. </div><divclass="ttdef"><b>Definition:</b> xqc.h:532</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_ac6f7f32f3d54ba30c043bea37e3b5fef"><divclass="ttname"><ahref="structXQC__Sequence__s.html#ac6f7f32f3d54ba30c043bea37e3b5fef">XQC_Sequence_s::integer_value</a></div><divclass="ttdeci">XQC_Error(* integer_value)(const XQC_Sequence *sequence, int *value)</div><divclass="ttdoc">Returns the value of the current item in the sequence as an integer - this is equivalent to calling f...</div><divclass="ttdef"><b>Definition:</b> xqc.h:915</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_aef512c6e2097bec0c7d9a424e0008d77"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#aef512c6e2097bec0c7d9a424e0008d77">XQC_StaticContext_s::set_default_element_and_type_ns</a></div><divclass="ttdeci">XQC_Error(* set_default_element_and_type_ns)(XQC_StaticContext *context, const char *uri)</div><divclass="ttdoc">Sets the value of the default namespace for elements and types. </div><divclass="ttdef"><b>Definition:</b> xqc.h:461</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_a13ab651edb4e0754cb8a032e2bce50b0"><divclass="ttname"><ahref="structXQC__Sequence__s.html#a13ab651edb4e0754cb8a032e2bce50b0">XQC_Sequence_s::free</a></div><divclass="ttdeci">void(* free)(XQC_Sequence *sequence)</div><divclass="ttdoc">Called to free the resources associated with the XQC_Sequence. </div><divclass="ttdef"><b>Definition:</b> xqc.h:966</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_a755d353442dd2cc25906bb0152ef8fe1"><divclass="ttname"><ahref="structXQC__Sequence__s.html#a755d353442dd2cc25906bb0152ef8fe1">XQC_Sequence_s::node_name</a></div><divclass="ttdeci">XQC_Error(* node_name)(const XQC_Sequence *sequence, const char **uri, const char **name)</div><divclass="ttdoc">Returns the name for the current node as a (URI, localname) pair. </div><divclass="ttdef"><b>Definition:</b> xqc.h:945</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a59f50a061dc6f1dd4787639384059311"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a59f50a061dc6f1dd4787639384059311">XQC_StaticContext_s::get_default_order_empty_sequences</a></div><divclass="ttdeci">XQC_Error(* get_default_order_empty_sequences)(XQC_StaticContext *context, XQC_OrderEmptyMode *mode)</div><divclass="ttdoc">Returns the default order mode for empty sequences that is set in the given static context...</div><divclass="ttdef"><b>Definition:</b> xqc.h:594</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_ab84594b06f7e69fd870c41f55ae5c6c6"><divclass="ttname"><ahref="structXQC__Sequence__s.html#ab84594b06f7e69fd870c41f55ae5c6c6">XQC_Sequence_s::next</a></div><divclass="ttdeci">XQC_Error(* next)(XQC_Sequence *sequence)</div><divclass="ttdoc">Moves the XQC_Sequence so that the current item is positioned at the next item in the sequence...</div><divclass="ttdef"><b>Definition:</b> xqc.h:854</div></div>
<divclass="ttc"id="structXQC__InputStream__s_html_aa4d231151fe0fe6ddc189d84f8f1197b"><divclass="ttname"><ahref="structXQC__InputStream__s.html#aa4d231151fe0fe6ddc189d84f8f1197b">XQC_InputStream_s::encoding</a></div><divclass="ttdeci">const char * encoding</div><divclass="ttdoc">The text encoding of the input data as a UTF-8 string, or 0 if unknown. </div><divclass="ttdef"><b>Definition:</b> xqc.h:88</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_a3bd3b6dab0c68652af816438407dd037"><divclass="ttname"><ahref="structXQC__Sequence__s.html#a3bd3b6dab0c68652af816438407dd037">XQC_Sequence_s::string_value</a></div><divclass="ttdeci">XQC_Error(* string_value)(const XQC_Sequence *sequence, const char **value)</div><divclass="ttdoc">Returns the string value of the current item in the sequence - this is equivalent to calling fn:strin...</div><divclass="ttdef"><b>Definition:</b> xqc.h:901</div></div>
<divclass="ttc"id="structXQC__ErrorHandler__s_html_afc5eb3e21afa1c8d88fa56ae55de5ce0"><divclass="ttname"><ahref="structXQC__ErrorHandler__s.html#afc5eb3e21afa1c8d88fa56ae55de5ce0">XQC_ErrorHandler_s::error</a></div><divclass="ttdeci">void(* error)(XQC_ErrorHandler *handler, XQC_Error error, const char *error_uri, const char *error_localname, const char *description, XQC_Sequence *error_object)</div><divclass="ttdoc">The function called when an error occurs. </div><divclass="ttdef"><b>Definition:</b> xqc.h:156</div></div>
<divclass="ttc"id="structXQC__InputStream__s_html_a72b22742c94ee0efe5b5de0e63b7ae89"><divclass="ttname"><ahref="structXQC__InputStream__s.html#a72b22742c94ee0efe5b5de0e63b7ae89">XQC_InputStream_s::user_data</a></div><divclass="ttdeci">void * user_data</div><divclass="ttdoc">Can be used for user specific purposes. </div><divclass="ttdef"><b>Definition:</b> xqc.h:93</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a75ffd05f4ce6a3e4c4b9f1dfc26dc82a"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a75ffd05f4ce6a3e4c4b9f1dfc26dc82a">XQC_StaticContext_s::get_xpath_compatib_mode</a></div><divclass="ttdeci">XQC_Error(* get_xpath_compatib_mode)(XQC_StaticContext *context, XQC_XPath1Mode *mode)</div><divclass="ttdoc">Returns the XPath 1.0 compatibility that is set in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:520</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3faeb68302bd3ceab3cb9d9473afd06248a"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3faeb68302bd3ceab3cb9d9473afd06248a">XQC_TYPE_ERROR</a></div><divclass="ttdoc">A type error has occured while preparing or executing the query. </div><divclass="ttdef"><b>Definition:</b> xqc.h:72</div></div>
<divclass="ttc"id="xqc_8h_html_a6a5f9892a69d1f51edd534488184a40b"><divclass="ttname"><ahref="xqc_8h.html#a6a5f9892a69d1f51edd534488184a40b">XQC_BoundarySpaceMode</a></div><divclass="ttdeci">XQC_BoundarySpaceMode</div><divclass="ttdoc">Boundary-space policy as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:387</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fa3c5972d58b0a8f9c38a000e6cf4d91a2"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa3c5972d58b0a8f9c38a000e6cf4d91a2">XQC_STATIC_ERROR</a></div><divclass="ttdoc">A static error has occured while preparing the query. </div><divclass="ttdef"><b>Definition:</b> xqc.h:71</div></div>
<divclass="ttc"id="xqc_8h_html_a1b5f5e5b845d550463923b4bf5f673e0"><divclass="ttname"><ahref="xqc_8h.html#a1b5f5e5b845d550463923b4bf5f673e0">XQC_InheritMode</a></div><divclass="ttdeci">XQC_InheritMode</div><divclass="ttdoc">Inherit part of the Copy-namespace mode as defined in http://www.w3.org/TR/xquery/#static_context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:376</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fadfd1d8eea45c90655b98cfd728bfee2e"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fadfd1d8eea45c90655b98cfd728bfee2e">XQC_END_OF_SEQUENCE</a></div><divclass="ttdoc">The end of the XQC_Sequence has been reached. </div><divclass="ttdef"><b>Definition:</b> xqc.h:57</div></div>
<divclass="ttc"id="structXQC__Implementation__s_html_a71f0ea0a00d946c1931cb967423459ca"><divclass="ttname"><ahref="structXQC__Implementation__s.html#a71f0ea0a00d946c1931cb967423459ca">XQC_Implementation_s::create_integer_sequence</a></div><divclass="ttdeci">XQC_Error(* create_integer_sequence)(XQC_Implementation *implementation, int values[], unsigned int count, XQC_Sequence **sequence)</div><divclass="ttdef"><b>Definition:</b> xqc.h:325</div></div>
<divclass="ttc"id="structXQC__ErrorHandler__s_html_a576532f27add49c11ee2d34f045458cf"><divclass="ttname"><ahref="structXQC__ErrorHandler__s.html#a576532f27add49c11ee2d34f045458cf">XQC_ErrorHandler_s::user_data</a></div><divclass="ttdeci">void * user_data</div><divclass="ttdoc">Can be used for user specific purposes. </div><divclass="ttdef"><b>Definition:</b> xqc.h:136</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a75b20fc75c17c30df3e236b52cb89cd7"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a75b20fc75c17c30df3e236b52cb89cd7">XQC_StaticContext_s::get_copy_ns_mode</a></div><divclass="ttdeci">XQC_Error(* get_copy_ns_mode)(XQC_StaticContext *context, XQC_PreserveMode *preserve, XQC_InheritMode *inherit)</div><divclass="ttdoc">Returns the copy namespace mode as a pair consisting of the preserve and the inherit mode...</div><divclass="ttdef"><b>Definition:</b> xqc.h:645</div></div>
<divclass="ttc"id="structXQC__Sequence__s_html_a09c64cc1a094a915541b0d4864f8ecf9"><divclass="ttname"><ahref="structXQC__Sequence__s.html#a09c64cc1a094a915541b0d4864f8ecf9">XQC_Sequence_s::item_type</a></div><divclass="ttdeci">XQC_Error(* item_type)(const XQC_Sequence *sequence, XQC_ItemType *type)</div><divclass="ttdoc">Returns an item type enumeration for the type of the current item. </div><divclass="ttdef"><b>Definition:</b> xqc.h:871</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a65ebb98ea475a2168543847f5918970a"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a65ebb98ea475a2168543847f5918970a">XQC_StaticContext_s::get_boundary_space_policy</a></div><divclass="ttdeci">XQC_Error(* get_boundary_space_policy)(XQC_StaticContext *context, XQC_BoundarySpaceMode *mode)</div><divclass="ttdoc">Returns the boundary space policy that is set in the given static context. </div><divclass="ttdef"><b>Definition:</b> xqc.h:618</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_af751e75df9357b47cab7bbfedc7bea3c"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#af751e75df9357b47cab7bbfedc7bea3c">XQC_StaticContext_s::set_boundary_space_policy</a></div><divclass="ttdeci">XQC_Error(* set_boundary_space_policy)(XQC_StaticContext *context, XQC_BoundarySpaceMode mode)</div><divclass="ttdoc">Sets the boundary space policy to either XQC_PRESERVE_SPACE or XQC_STRIP_SPACE. </div><divclass="ttdef"><b>Definition:</b> xqc.h:606</div></div>
<divclass="ttc"id="structXQC__Expression__s_html"><divclass="ttname"><ahref="structXQC__Expression__s.html">XQC_Expression_s</a></div><divclass="ttdoc">The XQC_Expression struct represents a prepared query, and allows the user to execute that query any ...</div><divclass="ttdef"><b>Definition:</b> xqc.h:707</div></div>
<divclass="ttc"id="structXQC__Expression__s_html_a3181579fa2677d43c29efd31a649726c"><divclass="ttname"><ahref="structXQC__Expression__s.html#a3181579fa2677d43c29efd31a649726c">XQC_Expression_s::execute</a></div><divclass="ttdeci">XQC_Error(* execute)(const XQC_Expression *expression, const XQC_DynamicContext *context, XQC_Sequence **sequence)</div><divclass="ttdoc">Executes the query represented by the XQC_Expression object using the values in the XQC_DynamicContex...</div><divclass="ttdef"><b>Definition:</b> xqc.h:738</div></div>
<divclass="ttc"id="structXQC__StaticContext__s_html_a0843d049e30939d23712e4e237ecf597"><divclass="ttname"><ahref="structXQC__StaticContext__s.html#a0843d049e30939d23712e4e237ecf597">XQC_StaticContext_s::set_default_order_empty_sequences</a></div><divclass="ttdeci">XQC_Error(* set_default_order_empty_sequences)(XQC_StaticContext *context, XQC_OrderEmptyMode mode)</div><divclass="ttdoc">Sets the default order mode for empty sequences to either XQC_EMTPY_LEAST or XQC_EMPTY_GREATEST. </div><divclass="ttdef"><b>Definition:</b> xqc.h:581</div></div>
<divclass="ttc"id="xqc_8h_html_aeb1ad206e9c38a7f84749cafe04d7a3fadc55e42328966f02eededcbbe6676ff0"><divclass="ttname"><ahref="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fadc55e42328966f02eededcbbe6676ff0">XQC_SERIALIZATION_ERROR</a></div><divclass="ttdoc">A serialization error has occured while serializing the output of a query. </div><divclass="ttdef"><b>Definition:</b> xqc.h:74</div></div>