XQuilla/docs/xqc-api/xqc_8h-source.html
2020-02-17 22:19:08 +01:00

328 lines
30 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.3.9.1 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="examples.html">Examples</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>xqc.h</h1><a href="xqc_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment"> * Copyright (c) 2008, Matthias Brantner, John Snelson</span>
00003 <span class="comment"> * All rights reserved.</span>
00004 <span class="comment"> *</span>
00005 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
00006 <span class="comment"> * modification, are permitted provided that the following conditions are met:</span>
00007 <span class="comment"> *</span>
00008 <span class="comment"> * * Redistributions of source code must retain the above copyright notice,</span>
00009 <span class="comment"> * this list of conditions and the following disclaimer.</span>
00010 <span class="comment"> * * Redistributions in binary form must reproduce the above copyright</span>
00011 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
00012 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
00013 <span class="comment"> * * Neither the name of the developers nor the names of contributors may be</span>
00014 <span class="comment"> * used to endorse or promote products derived from this software without</span>
00015 <span class="comment"> * specific prior written permission.</span>
00016 <span class="comment"> *</span>
00017 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"</span>
00018 <span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
00019 <span class="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
00020 <span class="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE</span>
00021 <span class="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span>
00022 <span class="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span>
00023 <span class="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span>
00024 <span class="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span>
00025 <span class="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span>
00026 <span class="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span>
00027 <span class="comment"> * POSSIBILITY OF SUCH DAMAGE.</span>
00028 <span class="comment"> */</span>
00029
00030 <span class="preprocessor">#ifndef _XQUERY_C_API_H</span>
00031 <span class="preprocessor"></span><span class="preprocessor">#define _XQUERY_C_API_H</span>
00032 <span class="preprocessor"></span>
00033 <span class="comment">/* Include stdio for FILE */</span>
00034 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
00035
00036 <span class="preprocessor">#ifdef __cplusplus</span>
00037 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00038 <span class="preprocessor">#endif</span>
00039 <span class="preprocessor"></span>
<a name="l00041"></a><a class="code" href="xqc_8h.html#a0">00041</a> <span class="preprocessor">#define XQC_VERSION_NUMBER 1</span>
00042 <span class="preprocessor"></span>
<a name="l00043"></a><a class="code" href="xqc_8h.html#a1">00043</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__Implementation__s.html">XQC_Implementation_s</a> <a class="code" href="xqc_8h.html#a1">XQC_Implementation</a>;
<a name="l00044"></a><a class="code" href="xqc_8h.html#a2">00044</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__StaticContext__s.html">XQC_StaticContext_s</a> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a>;
<a name="l00045"></a><a class="code" href="xqc_8h.html#a3">00045</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__Expression__s.html">XQC_Expression_s</a> <a class="code" href="xqc_8h.html#a3">XQC_Expression</a>;
<a name="l00046"></a><a class="code" href="xqc_8h.html#a4">00046</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__DynamicContext__s.html">XQC_DynamicContext_s</a> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a>;
<a name="l00047"></a><a class="code" href="xqc_8h.html#a5">00047</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__Sequence__s.html">XQC_Sequence_s</a> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a>;
<a name="l00048"></a><a class="code" href="xqc_8h.html#a6">00048</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__InputStream__s.html">XQC_InputStream_s</a> <a class="code" href="xqc_8h.html#a6">XQC_InputStream</a>;
<a name="l00049"></a><a class="code" href="xqc_8h.html#a7">00049</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structXQC__ErrorHandler__s.html">XQC_ErrorHandler_s</a> <a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a>;
00050
<a name="l00055"></a><a class="code" href="xqc_8h.html#a66">00055</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00056 <a class="code" href="xqc_8h.html#a66a8">XQC_NO_ERROR</a> = 0,
00057 XQC_END_OF_SEQUENCE,
00058 XQC_NO_CURRENT_ITEM,
00059 XQC_PARSE_ERROR,
00060 XQC_INVALID_ARGUMENT,
00061 XQC_NOT_NODE,
00062
00063 XQC_INTERNAL_ERROR,
00064 XQC_NOT_IMPLEMENTED,
00065
00069 XQC_UNRECOGNIZED_ENCODING,
00070
00071 XQC_STATIC_ERROR,
00072 XQC_TYPE_ERROR,
00073 XQC_DYNAMIC_ERROR,
00074 <a class="code" href="xqc_8h.html#a66a20">XQC_SERIALIZATION_ERROR</a>
00075 } XQC_Error;
00076
<a name="l00081"></a><a class="code" href="structXQC__InputStream__s.html">00081</a> <span class="keyword">struct </span><a class="code" href="structXQC__InputStream__s.html">XQC_InputStream_s</a> {
<a name="l00088"></a><a class="code" href="structXQC__InputStream__s.html#o0">00088</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *encoding;
00089
<a name="l00093"></a><a class="code" href="structXQC__InputStream__s.html#o1">00093</a> <span class="keywordtype">void</span> *user_data;
00094
00108 <span class="keywordtype">unsigned</span> int (*read)(<a class="code" href="xqc_8h.html#a6">XQC_InputStream</a> *stream, <span class="keywordtype">void</span> *buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);
00109
00116 void (*free)(<a class="code" href="xqc_8h.html#a6">XQC_InputStream</a> *stream);
00117 };
00118
<a name="l00131"></a><a class="code" href="structXQC__ErrorHandler__s.html">00131</a> <span class="keyword">struct </span><a class="code" href="structXQC__ErrorHandler__s.html">XQC_ErrorHandler_s</a> {
00132
<a name="l00136"></a><a class="code" href="structXQC__ErrorHandler__s.html#o0">00136</a> <span class="keywordtype">void</span> *user_data;
00137
00156 void (*error)(<a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a> *handler, <a class="code" href="xqc_8h.html#a66">XQC_Error</a> error, <span class="keyword">const</span> <span class="keywordtype">char</span> *error_uri,
00157 <span class="keyword">const</span> <span class="keywordtype">char</span> *error_localname, <span class="keyword">const</span> <span class="keywordtype">char</span> *description, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *error_object);
00158 };
00159
<a name="l00160"></a><a class="code" href="xqc_8h.html#a67">00160</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00161 <a class="code" href="xqc_8h.html#a67a21">XQC_EMPTY_TYPE</a> = 0,
00162
00163 XQC_DOCUMENT_TYPE,
00164 XQC_ELEMENT_TYPE,
00165 XQC_ATTRIBUTE_TYPE,
00166 XQC_TEXT_TYPE,
00167 XQC_PROCESSING_INSTRUCTION_TYPE,
00168 XQC_COMMENT_TYPE,
00169 XQC_NAMESPACE_TYPE,
00170
00171 XQC_ANY_SIMPLE_TYPE,
00172 XQC_ANY_URI_TYPE,
00173 XQC_BASE_64_BINARY_TYPE,
00174 XQC_BOOLEAN_TYPE,
00175 XQC_DATE_TYPE,
00176 XQC_DATE_TIME_TYPE,
00177 XQC_DAY_TIME_DURATION_TYPE,
00178 XQC_DECIMAL_TYPE,
00179 XQC_DOUBLE_TYPE,
00180 XQC_DURATION_TYPE,
00181 XQC_FLOAT_TYPE,
00182 XQC_G_DAY_TYPE,
00183 XQC_G_MONTH_TYPE,
00184 XQC_G_MONTH_DAY_TYPE,
00185 XQC_G_YEAR_TYPE,
00186 XQC_G_YEAR_MONTH_TYPE,
00187 XQC_HEX_BINARY_TYPE,
00188 XQC_NOTATION_TYPE,
00189 XQC_QNAME_TYPE,
00190 XQC_STRING_TYPE,
00191 XQC_TIME_TYPE,
00192 XQC_UNTYPED_ATOMIC_TYPE,
00193 <a class="code" href="xqc_8h.html#a67a51">XQC_YEAR_MONTH_DURATION_TYPE</a>
00194
00195 } XQC_ItemType;
00196
<a name="l00207"></a><a class="code" href="structXQC__Implementation__s.html">00207</a> <span class="keyword">struct </span><a class="code" href="structXQC__Implementation__s.html">XQC_Implementation_s</a> {
00208
00225 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_context)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation, <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> **context);
00226
00244 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*prepare)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation, <span class="keyword">const</span> <span class="keywordtype">char</span> *string,
00245 <span class="keyword">const</span> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> **expression);
00246
00266 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*prepare_file)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation, FILE *file,
00267 <span class="keyword">const</span> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> **expression);
00268
00290 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*prepare_stream)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation, <a class="code" href="xqc_8h.html#a6">XQC_InputStream</a> *stream,
00291 <span class="keyword">const</span> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> **expression);
00292
00294
00300
00301 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*parse_document)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00302 <span class="keyword">const</span> <span class="keywordtype">char</span> *string, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00304 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*parse_document_file)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00305 FILE *file, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00307 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*parse_document_stream)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00308 <a class="code" href="xqc_8h.html#a6">XQC_InputStream</a> *stream, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00309
00311
00317 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_empty_sequence)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00318 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00319 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_singleton_sequence)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00320 <a class="code" href="xqc_8h.html#a67">XQC_ItemType</a> type, <span class="keyword">const</span> <span class="keywordtype">char</span> *value,
00321 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00322 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_string_sequence)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00323 <span class="keyword">const</span> <span class="keywordtype">char</span> *values[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count,
00324 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00325 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_integer_sequence)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00326 <span class="keywordtype">int</span> values[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count,
00327 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00328 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_double_sequence)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation,
00329 <span class="keywordtype">double</span> values[], <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count,
00330 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00331
00333
00343 <span class="keywordtype">void</span> *(*get_interface)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00344
00351 void (*free)(<a class="code" href="xqc_8h.html#a1">XQC_Implementation</a> *implementation);
00352 };
00353
<a name="l00359"></a><a class="code" href="xqc_8h.html#a68">00359</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_XPATH2_0, <a class="code" href="xqc_8h.html#a68a53">XQC_XPATH1_0</a> } XQC_XPath1Mode;
00360
<a name="l00364"></a><a class="code" href="xqc_8h.html#a69">00364</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_ORDERED, <a class="code" href="xqc_8h.html#a69a55">XQC_UNORDERED</a> } XQC_OrderingMode;
00365
<a name="l00370"></a><a class="code" href="xqc_8h.html#a70">00370</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_EMPTY_GREATEST, <a class="code" href="xqc_8h.html#a70a57">XQC_EMPTY_LEAST</a> } XQC_OrderEmptyMode;
00371
<a name="l00376"></a><a class="code" href="xqc_8h.html#a71">00376</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_INHERIT_NS, <a class="code" href="xqc_8h.html#a71a59">XQC_NO_INHERIT_NS</a> } XQC_InheritMode;
00377
<a name="l00382"></a><a class="code" href="xqc_8h.html#a72">00382</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_PRESERVE_NS, <a class="code" href="xqc_8h.html#a72a61">XQC_NO_PRESERVE_NS</a> } XQC_PreserveMode;
00383
<a name="l00387"></a><a class="code" href="xqc_8h.html#a73">00387</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_PRESERVE_SPACE, <a class="code" href="xqc_8h.html#a73a63">XQC_STRIP_SPACE</a> } XQC_BoundarySpaceMode;
00388
<a name="l00392"></a><a class="code" href="xqc_8h.html#a74">00392</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { XQC_PRESERVE_CONS, <a class="code" href="xqc_8h.html#a74a65">XQC_STRIP_CONS</a> } XQC_ConstructionMode;
00393
<a name="l00404"></a><a class="code" href="structXQC__StaticContext__s.html">00404</a> <span class="keyword">struct </span><a class="code" href="structXQC__StaticContext__s.html">XQC_StaticContext_s</a> {
00405
00420 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00421 (*create_child_context)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> **child_context);
00422
00434 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00435 (*declare_ns)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *prefix, <span class="keyword">const</span> <span class="keywordtype">char</span> *uri);
00436
00448 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00449 (*get_ns_by_prefix)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *prefix, <span class="keyword">const</span> <span class="keywordtype">char</span> **result_ns);
00450
00460 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00461 (*set_default_element_and_type_ns)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *uri);
00462
00471 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00472 (*get_default_element_and_type_ns)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> **uri);
00473
00483 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00484 (*set_default_function_ns)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *uri);
00485
00495 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00496 (*get_default_function_ns)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> **uri);
00497
00507 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00508 (*set_xpath_compatib_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a68">XQC_XPath1Mode</a> mode);
00509
00519 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00520 (*get_xpath_compatib_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a68">XQC_XPath1Mode</a>* mode);
00521
00531 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00532 (*set_construction_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a74">XQC_ConstructionMode</a> mode);
00533
00543 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00544 (*get_construction_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a74">XQC_ConstructionMode</a>* mode);
00545
00555 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00556 (*set_ordering_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a69">XQC_OrderingMode</a> mode);
00557
00567 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00568 (*get_ordering_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a69">XQC_OrderingMode</a>* mode);
00569
00580 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00581 (*set_default_order_empty_sequences)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a70">XQC_OrderEmptyMode</a> mode);
00582
00593 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00594 (*get_default_order_empty_sequences)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a70">XQC_OrderEmptyMode</a>* mode);
00595
00605 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00606 (*set_boundary_space_policy)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a73">XQC_BoundarySpaceMode</a> mode);
00607
00617 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00618 (*get_boundary_space_policy)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a73">XQC_BoundarySpaceMode</a>* mode);
00619
00630 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00631 (*set_copy_ns_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a72">XQC_PreserveMode</a> preserve, <a class="code" href="xqc_8h.html#a71">XQC_InheritMode</a> inherit);
00632
00644 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00645 (*get_copy_ns_mode)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a72">XQC_PreserveMode</a>* preserve, <a class="code" href="xqc_8h.html#a71">XQC_InheritMode</a>* inherit);
00646
00656 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00657 (*set_base_uri)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *base_uri);
00658
00668 <a class="code" href="xqc_8h.html#a66">XQC_Error</a>
00669 (*get_base_uri)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> **base_uri);
00670
00671 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*set_error_handler)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a> *handler);
00672 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*get_error_handler)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a> **handler);
00673
00683 <span class="keywordtype">void</span> *(*get_interface)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00684
00691 void (*free)(<a class="code" href="xqc_8h.html#a2">XQC_StaticContext</a> *context);
00692 };
00693
<a name="l00707"></a><a class="code" href="structXQC__Expression__s.html">00707</a> <span class="keyword">struct </span><a class="code" href="structXQC__Expression__s.html">XQC_Expression_s</a> {
00708
00720 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*create_context)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> *expression, <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> **context);
00721
00738 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*execute)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> *expression, <span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **sequence);
00739
00749 <span class="keywordtype">void</span> *(*get_interface)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a3">XQC_Expression</a> *expression, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00750
00757 void (*free)(<a class="code" href="xqc_8h.html#a3">XQC_Expression</a> *expression);
00758 };
00759
<a name="l00760"></a><a class="code" href="structXQC__DynamicContext__s.html">00760</a> <span class="keyword">struct </span><a class="code" href="structXQC__DynamicContext__s.html">XQC_DynamicContext_s</a> {
00779 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*set_variable)(<a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,
00780 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *value);
00781
00782 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*get_variable)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *uri, <span class="keyword">const</span> <span class="keywordtype">char</span> *name,
00783 <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **value);
00784
00802 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*set_context_item)(<a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *value);
00803
00804 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*get_context_item)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> **value);
00805
00811 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*set_implicit_timezone)(<a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <span class="keywordtype">int</span> timezone);
00812 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*get_implicit_timezone)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <span class="keywordtype">int</span> *timezone);
00813
00814 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*set_error_handler)(<a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a> *handler);
00815 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*get_error_handler)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <a class="code" href="xqc_8h.html#a7">XQC_ErrorHandler</a> **handler);
00816
00826 <span class="keywordtype">void</span> *(*get_interface)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00827
00834 void (*free)(<a class="code" href="xqc_8h.html#a4">XQC_DynamicContext</a> *context);
00835 };
00836
<a name="l00843"></a><a class="code" href="structXQC__Sequence__s.html">00843</a> <span class="keyword">struct </span><a class="code" href="structXQC__Sequence__s.html">XQC_Sequence_s</a> {
00854 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*next)(<a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence);
00855
00871 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*item_type)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <a class="code" href="xqc_8h.html#a67">XQC_ItemType</a> *type);
00872
00886 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*type_name)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keyword">const</span> <span class="keywordtype">char</span> **uri, <span class="keyword">const</span> <span class="keywordtype">char</span> **name);
00887
00901 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*string_value)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keyword">const</span> <span class="keywordtype">char</span> **value);
00902
00915 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*integer_value)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keywordtype">int</span> *value);
00916
00929 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*double_value)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keywordtype">double</span> *value);
00930
00945 <a class="code" href="xqc_8h.html#a66">XQC_Error</a> (*node_name)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keyword">const</span> <span class="keywordtype">char</span> **uri, <span class="keyword">const</span> <span class="keywordtype">char</span> **name);
00946
00958 <span class="keywordtype">void</span> *(*get_interface)(<span class="keyword">const</span> <a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence, <span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00959
00966 void (*free)(<a class="code" href="xqc_8h.html#a5">XQC_Sequence</a> *sequence);
00967 };
00968
00969 <span class="preprocessor">#ifdef __cplusplus</span>
00970 <span class="preprocessor"></span>}
00971 <span class="preprocessor">#endif</span>
00972 <span class="preprocessor"></span>
00973 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Sep 25 06:55:57 2009 for XQilla XQC API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>