XQuilla/docs/xqc-api/structXQC__Implementation__s.html
2020-02-17 22:24:47 +01:00

378 lines
37 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>XQilla XQC API Documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<a style="float:right;" href="http://sourceforge.net/projects/xqilla"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=152021&amp;type=2" border="0" alt="SourceForge.net Logo" /></a>
<!-- Generated by Doxygen 1.8.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structXQC__Implementation__s-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">XQC_Implementation_s Struct Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>The <a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> struct provides factory functions for preparing queries.
<a href="structXQC__Implementation__s.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="xqc_8h_source.html">xqc.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa838e9b196a80d8316a7a63ccf64034e"><td class="memItemLeft" align="right" valign="top">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#aa838e9b196a80d8316a7a63ccf64034e">get_interface</a> )(const <a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *name)</td></tr>
<tr class="memdesc:aa838e9b196a80d8316a7a63ccf64034e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to retrieve an implementation specific interface. <a href="#aa838e9b196a80d8316a7a63ccf64034e">More...</a><br/></td></tr>
<tr class="separator:aa838e9b196a80d8316a7a63ccf64034e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb636b6cbd236831652a518d9e71418d"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#afb636b6cbd236831652a518d9e71418d">free</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation)</td></tr>
<tr class="memdesc:afb636b6cbd236831652a518d9e71418d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called to free the resources associated with the XQC_Implementation. <a href="#afb636b6cbd236831652a518d9e71418d">More...</a><br/></td></tr>
<tr class="separator:afb636b6cbd236831652a518d9e71418d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for preparing queries</div></td></tr>
<tr class="memitem:ad1708e34ad5052e3441c07fc2578c32a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#ad1708e34ad5052e3441c07fc2578c32a">create_context</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> **context)</td></tr>
<tr class="memdesc:ad1708e34ad5052e3441c07fc2578c32a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a static context suitable for use in the <a class="el" href="structXQC__Implementation__s.html#a4f82aa0b0e5c675f95f6c78b3bf76216" title="Prepares a query from a UTF-8 string, returning an XQC_Expression object. ">prepare()</a>, <a class="el" href="structXQC__Implementation__s.html#a1ad25fbbed1449a0923e3ea274c81336" title="Prepares a query from a FILE pointer, returning an XQC_Expression object. ">prepare_file()</a> and <a class="el" href="structXQC__Implementation__s.html#a5f43c181bbab51770a3c1c8943060745" title="Prepares a query from an XQC_InputStream, returning an XQC_Expression object. ">prepare_stream()</a> functions. <a href="#ad1708e34ad5052e3441c07fc2578c32a">More...</a><br/></td></tr>
<tr class="separator:ad1708e34ad5052e3441c07fc2578c32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f82aa0b0e5c675f95f6c78b3bf76216"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a4f82aa0b0e5c675f95f6c78b3bf76216">prepare</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *string, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td></tr>
<tr class="memdesc:a4f82aa0b0e5c675f95f6c78b3bf76216"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares a query from a UTF-8 string, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. <a href="#a4f82aa0b0e5c675f95f6c78b3bf76216">More...</a><br/></td></tr>
<tr class="separator:a4f82aa0b0e5c675f95f6c78b3bf76216"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ad25fbbed1449a0923e3ea274c81336"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a1ad25fbbed1449a0923e3ea274c81336">prepare_file</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, FILE *file, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td></tr>
<tr class="memdesc:a1ad25fbbed1449a0923e3ea274c81336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares a query from a FILE pointer, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. <a href="#a1ad25fbbed1449a0923e3ea274c81336">More...</a><br/></td></tr>
<tr class="separator:a1ad25fbbed1449a0923e3ea274c81336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f43c181bbab51770a3c1c8943060745"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a5f43c181bbab51770a3c1c8943060745">prepare_stream</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a> *stream, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td></tr>
<tr class="memdesc:a5f43c181bbab51770a3c1c8943060745"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares a query from an <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a>, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. <a href="#a5f43c181bbab51770a3c1c8943060745">More...</a><br/></td></tr>
<tr class="separator:a5f43c181bbab51770a3c1c8943060745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for parsing documents</div></td></tr>
<tr class="memitem:a1e3a2cd7fdb4becb469d179bcb4c2396"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a1e3a2cd7fdb4becb469d179bcb4c2396">parse_document</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *string, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="memdesc:a1e3a2cd7fdb4becb469d179bcb4c2396"><td class="mdescLeft">&#160;</td><td class="mdescRight">XQC_PARSE_ERROR. <a href="#a1e3a2cd7fdb4becb469d179bcb4c2396">More...</a><br/></td></tr>
<tr class="separator:a1e3a2cd7fdb4becb469d179bcb4c2396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623ddc0e08664025d2c7c08c295f2990"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a623ddc0e08664025d2c7c08c295f2990">parse_document_file</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, FILE *file, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="memdesc:a623ddc0e08664025d2c7c08c295f2990"><td class="mdescLeft">&#160;</td><td class="mdescRight">XQC_PARSE_ERROR. <a href="#a623ddc0e08664025d2c7c08c295f2990">More...</a><br/></td></tr>
<tr class="separator:a623ddc0e08664025d2c7c08c295f2990"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1042b268a8755993e5835ac35e894fb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a1042b268a8755993e5835ac35e894fb7">parse_document_stream</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a> *stream, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="memdesc:a1042b268a8755993e5835ac35e894fb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">XQC_PARSE_ERROR. <a href="#a1042b268a8755993e5835ac35e894fb7">More...</a><br/></td></tr>
<tr class="separator:a1042b268a8755993e5835ac35e894fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Functions for creating sequences</div></td></tr>
<tr class="memitem:acba4d14d7bc69f0884bac3fa2c4da483"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#acba4d14d7bc69f0884bac3fa2c4da483">create_empty_sequence</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="separator:acba4d14d7bc69f0884bac3fa2c4da483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5035ea14fac9fb23b591d47a0da4271e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a5035ea14fac9fb23b591d47a0da4271e">create_singleton_sequence</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a72a7afe388d8dbc3578d5d1eb4e76cde">XQC_ItemType</a> type, const char *value, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="separator:a5035ea14fac9fb23b591d47a0da4271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad618a79159ea541278dde9367ca2072a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#ad618a79159ea541278dde9367ca2072a">create_string_sequence</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="separator:ad618a79159ea541278dde9367ca2072a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f0ea0a00d946c1931cb967423459ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a71f0ea0a00d946c1931cb967423459ca">create_integer_sequence</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, int values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="separator:a71f0ea0a00d946c1931cb967423459ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec69328f68a983cbf84f7378fdad961"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXQC__Implementation__s.html#a6ec69328f68a983cbf84f7378fdad961">create_double_sequence</a> )(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, double values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td></tr>
<tr class="separator:a6ec69328f68a983cbf84f7378fdad961"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> struct provides factory functions for preparing queries. </p>
<p>An XQC_Implementation object is thread-safe and can be used by multiple threads of execution at the same time.</p>
<p>The method of creating an XQC_Implementation object is beyond the scope of this API, and will typically involve calling an implementation defined function. Once created, the user is responsible for freeing the object by calling the <a class="el" href="structXQC__Implementation__s.html#afb636b6cbd236831652a518d9e71418d" title="Called to free the resources associated with the XQC_Implementation. ">free()</a> function. The XQC_Implementation object should not be freed before all objects created using it's functions have been freed - doing so may cause undefined behaviour. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xqc-basic_8c-example.html#_a0">xqc-basic.c</a>, and <a class="el" href="xqc-context-item_8c-example.html#_a0">xqc-context-item.c</a>.</dd>
</dl></div><h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ad1708e34ad5052e3441c07fc2578c32a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_context)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> **context)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a static context suitable for use in the <a class="el" href="structXQC__Implementation__s.html#a4f82aa0b0e5c675f95f6c78b3bf76216" title="Prepares a query from a UTF-8 string, returning an XQC_Expression object. ">prepare()</a>, <a class="el" href="structXQC__Implementation__s.html#a1ad25fbbed1449a0923e3ea274c81336" title="Prepares a query from a FILE pointer, returning an XQC_Expression object. ">prepare_file()</a> and <a class="el" href="structXQC__Implementation__s.html#a5f43c181bbab51770a3c1c8943060745" title="Prepares a query from an XQC_InputStream, returning an XQC_Expression object. ">prepare_stream()</a> functions. </p>
<p>The user is responsible for freeing the <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> object returned by calling <a class="el" href="structXQC__StaticContext__s.html#a2e0112bce0e0f408c17d5c305ad8b84a" title="Called to free the resources associated with the XQC_StaticContext. ">XQC_StaticContext::free()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">context</td><td>The newly created XQC_StaticContext object.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa975a11c6557d4d849e48f4034380a375" title="No error. ">XQC_NO_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768" title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a6ec69328f68a983cbf84f7378fdad961"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_double_sequence)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, double values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="acba4d14d7bc69f0884bac3fa2c4da483"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_empty_sequence)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a71f0ea0a00d946c1931cb967423459ca"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_integer_sequence)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, int values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5035ea14fac9fb23b591d47a0da4271e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_singleton_sequence)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#a72a7afe388d8dbc3578d5d1eb4e76cde">XQC_ItemType</a> type, const char *value, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad618a79159ea541278dde9367ca2072a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::create_string_sequence)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *values[], unsigned int count, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afb636b6cbd236831652a518d9e71418d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void(* XQC_Implementation_s::free)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Called to free the resources associated with the XQC_Implementation. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of </td></tr>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xqc-basic_8c-example.html#a13">xqc-basic.c</a>, and <a class="el" href="xqc-context-item_8c-example.html#a18">xqc-context-item.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa838e9b196a80d8316a7a63ccf64034e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void*(* XQC_Implementation_s::get_interface)(const <a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *name)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Called to retrieve an implementation specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of </td></tr>
<tr><td class="paramname">name</td><td>The name that identifies the interface to return</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the interface, or 0 if the name is not recognized by this implementation of XQC. </dd></dl>
</div>
</div>
<a class="anchor" id="a1e3a2cd7fdb4becb469d179bcb4c2396"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::parse_document)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *string, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
<p>XQC_PARSE_ERROR. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xqc-context-item_8c-example.html#a7">xqc-context-item.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a623ddc0e08664025d2c7c08c295f2990"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::parse_document_file)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, FILE *file, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
<p>XQC_PARSE_ERROR. </p>
</div>
</div>
<a class="anchor" id="a1042b268a8755993e5835ac35e894fb7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::parse_document_stream)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a> *stream, <a class="el" href="xqc_8h.html#a611c8970264183d7d0f42a8551239463">XQC_Sequence</a> **sequence)</td>
</tr>
</table>
</div><div class="memdoc">
<p>XQC_PARSE_ERROR. </p>
</div>
</div>
<a class="anchor" id="a4f82aa0b0e5c675f95f6c78b3bf76216"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::prepare)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, const char *string, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepares a query from a UTF-8 string, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. </p>
<p>The user remains responsible for closing the file after preparation. The user is responsible for freeing the <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object returned by calling <a class="el" href="structXQC__Expression__s.html#a6aa28a94f0ff6732c26f131bbe4d44a9" title="Called to free the resources associated with the XQC_Expression. ">XQC_Expression::free()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">string</td><td>The query to prepare as a UTF-8 string. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">context</td><td>The initial static context for this query, or 0 to use the implementation defined default static context. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">expression</td><td>The resulting prepared expression.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa975a11c6557d4d849e48f4034380a375" title="No error. ">XQC_NO_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768" title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa3c5972d58b0a8f9c38a000e6cf4d91a2" title="A static error has occured while preparing the query. ">XQC_STATIC_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="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><td class="paramname"><a class="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>
</table>
</dd>
</dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="xqc-basic_8c-example.html#a5">xqc-basic.c</a>, and <a class="el" href="xqc-context-item_8c-example.html#a6">xqc-context-item.c</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1ad25fbbed1449a0923e3ea274c81336"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::prepare_file)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, FILE *file, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepares a query from a FILE pointer, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. </p>
<p>The encoding of the query in the file is determined by the implementation. The user remains responsible for closing the file after preparation. The user is responsible for freeing the <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object returned by calling <a class="el" href="structXQC__Expression__s.html#a6aa28a94f0ff6732c26f131bbe4d44a9" title="Called to free the resources associated with the XQC_Expression. ">XQC_Expression::free()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">file</td><td>The file containing the query to prepare. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">context</td><td>The initial static context for this query, or 0 to use the implementation defined default static context. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">expression</td><td>The resulting prepared expression.</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa975a11c6557d4d849e48f4034380a375" title="No error. ">XQC_NO_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768" title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa1f3145b072152462b856efc743b1211d" title="The encoding of the query has not been recognized, or is not supported by the implementation. ">XQC_UNRECOGNIZED_ENCODING</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa3c5972d58b0a8f9c38a000e6cf4d91a2" title="A static error has occured while preparing the query. ">XQC_STATIC_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="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><td class="paramname"><a class="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>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5f43c181bbab51770a3c1c8943060745"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3f">XQC_Error</a>(* XQC_Implementation_s::prepare_stream)(<a class="el" href="xqc_8h.html#a3d46d69abb6d7b408bb8cd8c02ce66fb">XQC_Implementation</a> *implementation, <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a> *stream, const <a class="el" href="xqc_8h.html#a27c84fd3b0421627f6bec2e19e1bf966">XQC_StaticContext</a> *context, <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> **expression)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Prepares a query from an <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a>, returning an <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object. </p>
<p>The encoding of the stream is determined by looking at <a class="el" href="structXQC__InputStream__s.html#aa4d231151fe0fe6ddc189d84f8f1197b" title="The text encoding of the input data as a UTF-8 string, or 0 if unknown. ">XQC_InputStream::encoding</a>, or by the implementation if <a class="el" href="structXQC__InputStream__s.html#aa4d231151fe0fe6ddc189d84f8f1197b" title="The text encoding of the input data as a UTF-8 string, or 0 if unknown. ">XQC_InputStream::encoding</a> is 0. The implementation is responsible for freeing the <a class="el" href="xqc_8h.html#aa2362b43cca7bd9527ed4477a5481528">XQC_InputStream</a> using the <a class="el" href="structXQC__InputStream__s.html#a48aaf721537dfba8945afb24511030ac" title="Called to free the resources associated with the XQC_InputStream. ">XQC_InputStream::free()</a> function after it has finished with using it. The user is responsible for freeing the <a class="el" href="xqc_8h.html#a707b112e9370ee771b38ea01574df8ff">XQC_Expression</a> object returned by calling <a class="el" href="structXQC__Expression__s.html#a6aa28a94f0ff6732c26f131bbe4d44a9" title="Called to free the resources associated with the XQC_Expression. ">XQC_Expression::free()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir"></td><td class="paramname">implementation</td><td>The XQC_Implementation that this function pointer is a member of </td></tr>
<tr><td class="paramdir"></td><td class="paramname">stream</td><td>The stream returning the query to prepare. </td></tr>
<tr><td class="paramdir"></td><td class="paramname">context</td><td>The initial static context for this query, or 0 to use the implementation defined default static context. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">expression</td><td>The resulting prepared expression</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa975a11c6557d4d849e48f4034380a375" title="No error. ">XQC_NO_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa01b5565965d03299df81f0916b8fa768" title="An implementation specific error has occurred. ">XQC_INTERNAL_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa1f3145b072152462b856efc743b1211d" title="The encoding of the query has not been recognized, or is not supported by the implementation. ">XQC_UNRECOGNIZED_ENCODING</a></td><td></td></tr>
<tr><td class="paramname"><a class="el" href="xqc_8h.html#aeb1ad206e9c38a7f84749cafe04d7a3fa3c5972d58b0a8f9c38a000e6cf4d91a2" title="A static error has occured while preparing the query. ">XQC_STATIC_ERROR</a></td><td></td></tr>
<tr><td class="paramname"><a class="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><td class="paramname"><a class="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>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="xqc_8h_source.html">xqc.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>