blob: 8e3001de1249f4beaab1c2699ec3f43241291db5 [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xpath</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
3 .synopsis, .classsynopsis {
4 background: #eeeeee;
5 border: solid 1px #aaaaaa;
6 padding: 0.5em;
7 }
8 .programlisting {
9 background: #eeeeff;
10 border: solid 1px #aaaaff;
11 padding: 0.5em;
12 }
13 .variablelist {
14 padding: 4px;
15 margin-left: 3em;
16 }
17 .navigation {
18 background: #ffeeee;
19 border: solid 1px #ffaaaa;
20 margin-top: 0.5em;
21 margin-bottom: 0.5em;
22 }
23 .navigation a {
24 color: #770000;
25 }
26 .navigation a:visited {
27 color: #550000;
28 }
29 .navigation .title {
30 font-size: 200%;
31 }
32 </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-HTMLtree.html" title="HTMLtree"><link rel="next" href="libxml-xpathInternals.html" title="xpathInternals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-xpath"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpath</h2><p>xpath &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
Daniel Veillard1566d3a1999-07-15 14:24:29 +000033
Daniel Veillardd4330462003-04-29 12:40:16 +000034
35
36struct <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a>;
37typedef <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>;
38struct <a href="libxml-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a>;
39typedef <a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>;
40enum <a href="libxml-xpath.html#xmlXPathError">xmlXPathError</a>;
41struct <a href="libxml-xpath.html#xmlNodeSet">xmlNodeSet</a>;
42typedef <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>;
43enum <a href="libxml-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>;
44struct <a href="libxml-xpath.html#xmlXPathObject">xmlXPathObject</a>;
45typedef <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>;
46int (<a href="libxml-xpath.html#xmlXPathConvertFunc">*xmlXPathConvertFunc</a>) (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj,
Daniel Veillard7f7d1111999-09-22 09:46:25 +000047 int type);
Daniel Veillardd4330462003-04-29 12:40:16 +000048struct <a href="libxml-xpath.html#xmlXPathType">xmlXPathType</a>;
49typedef <a href="libxml-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>;
50struct <a href="libxml-xpath.html#xmlXPathVariable">xmlXPathVariable</a>;
51typedef <a href="libxml-xpath.html#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
52void (<a href="libxml-xpath.html#xmlXPathEvalFunc">*xmlXPathEvalFunc</a>) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
Daniel Veillard7f7d1111999-09-22 09:46:25 +000053 int nargs);
Daniel Veillardd4330462003-04-29 12:40:16 +000054struct <a href="libxml-xpath.html#xmlXPathFunct">xmlXPathFunct</a>;
55typedef <a href="libxml-xpath.html#xmlXPathFuncPtr">xmlXPathFuncPtr</a>;
56<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> (<a href="libxml-xpath.html#xmlXPathAxisFunc">*xmlXPathAxisFunc</a>) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
57 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
58struct <a href="libxml-xpath.html#xmlXPathAxis">xmlXPathAxis</a>;
59typedef <a href="libxml-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>;
60struct <a href="libxml-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a>;
61typedef <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>;
62void (<a href="libxml-xpath.html#xmlXPathFunction">*xmlXPathFunction</a>) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
Daniel Veillard06622df2002-01-21 17:53:42 +000063 int nargs);
Daniel Veillardd4330462003-04-29 12:40:16 +000064int <a href="libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);
65int <a href="libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);
66#define <a href="libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a> (ns)
67#define <a href="libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a> (ns, index)
68#define <a href="libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a> (ns)
69void <a href="libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
70<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
71void <a href="libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
72void <a href="libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a> (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
73<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
74int <a href="libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1,
75 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
76int <a href="libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);
77int <a href="libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
78int <a href="libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a> (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
79int <a href="libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
80<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a> (int val);
81<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
82<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
83<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a> (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
84<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
85<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a> (int val);
86<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a> (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);
87<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
88<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a> (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
89<a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
90<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
91<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
92<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a> (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
93void <a href="libxml-xpath.html#xmlXPathInit">xmlXPathInit</a> (void);
94<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> <a href="libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
95void <a href="libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
96<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> <a href="libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
97<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathEval">xmlXPathEval</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
98 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
99<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
100 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
101int <a href="libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a> (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
102 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
103<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> <a href="libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a> (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
104<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a> (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
105 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
106void <a href="libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a> (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
107</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
108
109</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlXPathContext"></a>struct xmlXPathContext</h3><pre class="programlisting">struct xmlXPathContext {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000110 xmlDocPtr doc; /* The current document */
111 xmlNodePtr node; /* The current node */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000112
Daniel Veillard29a11cc2000-10-25 13:32:39 +0000113 int nb_variables_unused; /* unused (hash table) */
114 int max_variables_unused; /* unused (hash table) */
115 xmlHashTablePtr varHash; /* Hash table of defined variables */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000116
117 int nb_types; /* number of defined types */
118 int max_types; /* max number of types */
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000119 xmlXPathTypePtr types; /* Array of defined types */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000120
Daniel Veillard29a11cc2000-10-25 13:32:39 +0000121 int nb_funcs_unused; /* unused (hash table) */
122 int max_funcs_unused; /* unused (hash table) */
123 xmlHashTablePtr funcHash; /* Hash table of defined funcs */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000124
125 int nb_axis; /* number of defined axis */
126 int max_axis; /* max number of axis */
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000127 xmlXPathAxisPtr axis; /* Array of defined axis */
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000128
Daniel Veillard503b8932001-01-05 06:36:31 +0000129 /* the namespace nodes of the context node */
130 xmlNsPtr *namespaces; /* Array of namespaces */
131 int nsNr; /* number of namespace in scope */
132 void *user; /* function to free */
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000133
134 /* extra variables */
135 int contextSize; /* the context size */
136 int proximityPosition; /* the proximity position */
Daniel Veillard7e99c632000-10-06 12:59:53 +0000137
138 /* extra stuff for XPointer */
139 int xptr; /* it this an XPointer context */
140 xmlNodePtr here; /* for here() */
141 xmlNodePtr origin; /* for origin() */
Daniel Veillard503b8932001-01-05 06:36:31 +0000142
143 /* the set of namespace declarations in scope for the expression */
144 xmlHashTablePtr nsHash; /* The namespaces hash table */
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000145 void *varLookupFunc; /* variable lookup func */
146 void *varLookupData; /* variable lookup data */
147
148 /* Possibility to link in an extra item */
149 void *extra; /* needed for XSLT */
Daniel Veillard4ec885a2001-06-17 10:31:07 +0000150
151 /* The function name and URI when calling a function */
152 const xmlChar *function;
153 const xmlChar *functionURI;
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000154
155 /* function lookup function and data */
156 void *funcLookupFunc; /* function lookup func */
157 void *funcLookupData; /* function lookup data */
158
159 /* temporary namespace lists kept for walking the namespace axis */
160 xmlNsPtr *tmpNsList; /* Array of namespaces */
161 int tmpNsNr; /* number of namespace in scope */
Daniel Veillardd4330462003-04-29 12:40:16 +0000162};
163</pre><p>
164Expression evaluation occurs with respect to a context.
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000165he context consists of:
Daniel Veillardaec63562003-03-23 20:42:17 +0000166 - a node (the context node)
167 - a node list (the context node list)
168 - a set of variable bindings
169 - a function library
170 - the set of namespace declarations in scope for the expression
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000171Following the switch to hash tables, this need to be trimmed up at
Daniel Veillardd4330462003-04-29 12:40:16 +0000172the next binary incompatible release.</p><p>
173
Daniel Veillard93d95252003-04-29 20:25:40 +0000174</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathContextPtr"></a>xmlXPathContextPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000175
176</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathParserContext"></a>struct xmlXPathParserContext</h3><pre class="programlisting">struct xmlXPathParserContext {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000177 const xmlChar *cur; /* the current char being parsed */
178 const xmlChar *base; /* the full expression */
179
180 int error; /* error code */
181
182 xmlXPathContextPtr context; /* the evaluation context */
183 xmlXPathObjectPtr value; /* the current value */
184 int valueNr; /* number of values stacked */
185 int valueMax; /* max number of values stacked */
186 xmlXPathObjectPtr *valueTab; /* stack of values */
Daniel Veillardc7ad7ce2001-03-22 21:45:29 +0000187
188 xmlXPathCompExprPtr comp; /* the precompiled expression */
189 int xptr; /* it this an XPointer expression */
Daniel Veillard4b8328d2001-07-05 22:48:42 +0000190 xmlNodePtr ancestor; /* used for walking preceding axis */
Daniel Veillardd4330462003-04-29 12:40:16 +0000191};
192</pre><p>
193An XPath parser context. It contains pure parsing informations,
194an xmlXPathContext, and the stack of objects.</p><p>
195
Daniel Veillard93d95252003-04-29 20:25:40 +0000196</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathParserContextPtr"></a>xmlXPathParserContextPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000197
198</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathError"></a>enum xmlXPathError</h3><pre class="programlisting">typedef enum {
Daniel Veillard7e99c632000-10-06 12:59:53 +0000199 XPATH_EXPRESSION_OK = 0,
200 XPATH_NUMBER_ERROR,
201 XPATH_UNFINISHED_LITERAL_ERROR,
202 XPATH_START_LITERAL_ERROR,
203 XPATH_VARIABLE_REF_ERROR,
204 XPATH_UNDEF_VARIABLE_ERROR,
205 XPATH_INVALID_PREDICATE_ERROR,
206 XPATH_EXPR_ERROR,
207 XPATH_UNCLOSED_ERROR,
208 XPATH_UNKNOWN_FUNC_ERROR,
209 XPATH_INVALID_OPERAND,
210 XPATH_INVALID_TYPE,
211 XPATH_INVALID_ARITY,
212 XPATH_INVALID_CTXT_SIZE,
Daniel Veillardb732a0e2000-10-15 11:27:01 +0000213 XPATH_INVALID_CTXT_POSITION,
214 XPATH_MEMORY_ERROR,
215 XPTR_SYNTAX_ERROR,
216 XPTR_RESOURCE_ERROR,
Daniel Veillard503b8932001-01-05 06:36:31 +0000217 XPTR_SUB_RESOURCE_ERROR,
Daniel Veillard3bbbe6f2001-05-03 11:15:37 +0000218 XPATH_UNDEF_PREFIX_ERROR,
219 XPATH_ENCODING_ERROR,
220 XPATH_INVALID_CHAR_ERROR
Daniel Veillardd4330462003-04-29 12:40:16 +0000221} xmlXPathError;
222</pre><p>
223
224</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSet"></a>struct xmlNodeSet</h3><pre class="programlisting">struct xmlNodeSet {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000225 int nodeNr; /* number of nodes in the set */
226 int nodeMax; /* size of the array as allocated */
227 xmlNodePtr *nodeTab; /* array of nodes in no particular order */
Daniel Veillardaf43f632002-03-08 15:05:20 +0000228 /* @@ with_ns to check wether namespace nodes should be looked at @@ */
Daniel Veillardd4330462003-04-29 12:40:16 +0000229};
230</pre><p>
231
Daniel Veillard93d95252003-04-29 20:25:40 +0000232</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNodeSetPtr"></a>xmlNodeSetPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000233
234</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathObjectType"></a>enum xmlXPathObjectType</h3><pre class="programlisting">typedef enum {
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000235 XPATH_UNDEFINED = 0,
236 XPATH_NODESET = 1,
237 XPATH_BOOLEAN = 2,
238 XPATH_NUMBER = 3,
239 XPATH_STRING = 4,
Daniel Veillard7e99c632000-10-06 12:59:53 +0000240 XPATH_POINT = 5,
241 XPATH_RANGE = 6,
242 XPATH_LOCATIONSET = 7,
Daniel Veillard9cb5ff42001-01-29 08:22:21 +0000243 XPATH_USERS = 8,
244 XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */
Daniel Veillardd4330462003-04-29 12:40:16 +0000245} xmlXPathObjectType;
246</pre><p>
247
248</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathObject"></a>struct xmlXPathObject</h3><pre class="programlisting">struct xmlXPathObject {
Daniel Veillard3bff2b02000-10-01 20:33:47 +0000249 xmlXPathObjectType type;
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000250 xmlNodeSetPtr nodesetval;
251 int boolval;
252 double floatval;
253 xmlChar *stringval;
254 void *user;
Daniel Veillard7e99c632000-10-06 12:59:53 +0000255 int index;
256 void *user2;
257 int index2;
Daniel Veillardd4330462003-04-29 12:40:16 +0000258};
259</pre><p>
260
Daniel Veillard93d95252003-04-29 20:25:40 +0000261</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathObjectPtr"></a>xmlXPathObjectPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000262
263</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathConvertFunc"></a>xmlXPathConvertFunc ()</h3><pre class="programlisting">int (*xmlXPathConvertFunc) (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj,
264 int type);</pre><p>
265A conversion function is associated to a type and used to cast
266the new type to primitive values.</p><p>
267
Daniel Veillard93d95252003-04-29 20:25:40 +0000268</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>obj</tt></i> :</span></td><td>
269</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>
270</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
271
272
Daniel Veillardd4330462003-04-29 12:40:16 +0000273</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathType"></a>struct xmlXPathType</h3><pre class="programlisting">struct xmlXPathType {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000274 const xmlChar *name; /* the type name */
275 xmlXPathConvertFunc func; /* the conversion function */
Daniel Veillardd4330462003-04-29 12:40:16 +0000276};
277</pre><p>
278
Daniel Veillard93d95252003-04-29 20:25:40 +0000279</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathTypePtr"></a>xmlXPathTypePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000280
281</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathVariable"></a>struct xmlXPathVariable</h3><pre class="programlisting">struct xmlXPathVariable {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000282 const xmlChar *name; /* the variable name */
283 xmlXPathObjectPtr value; /* the value */
Daniel Veillardd4330462003-04-29 12:40:16 +0000284};
285</pre><p>
286
Daniel Veillard93d95252003-04-29 20:25:40 +0000287</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathVariablePtr"></a>xmlXPathVariablePtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000288
289</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEvalFunc"></a>xmlXPathEvalFunc ()</h3><pre class="programlisting">void (*xmlXPathEvalFunc) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
290 int nargs);</pre><p>
291An XPath evaluation function, the parameters are on the XPath context stack.</p><p>
292
Daniel Veillard93d95252003-04-29 20:25:40 +0000293</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
294</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i> :</span></td><td>
295
296
Daniel Veillardd4330462003-04-29 12:40:16 +0000297</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFunct"></a>struct xmlXPathFunct</h3><pre class="programlisting">struct xmlXPathFunct {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000298 const xmlChar *name; /* the function name */
299 xmlXPathEvalFunc func; /* the evaluation function */
Daniel Veillardd4330462003-04-29 12:40:16 +0000300};
301</pre><p>
302
Daniel Veillard93d95252003-04-29 20:25:40 +0000303</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFuncPtr"></a>xmlXPathFuncPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000304
305</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathAxisFunc"></a>xmlXPathAxisFunc ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> (*xmlXPathAxisFunc) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
306 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);</pre><p>
307An axis traversal function. To traverse an axis, the engine calls
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000308the first time with cur == NULL and repeat until the function returns
Daniel Veillardd4330462003-04-29 12:40:16 +0000309NULL indicating the end of the axis traversal.</p><p>
310
Daniel Veillard93d95252003-04-29 20:25:40 +0000311</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
312</td></tr><tr><td><span class="term"><i><tt>cur</tt></i> :</span></td><td>
313</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
314
315
Daniel Veillardd4330462003-04-29 12:40:16 +0000316</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathAxis"></a>struct xmlXPathAxis</h3><pre class="programlisting">struct xmlXPathAxis {
Daniel Veillard3f6f7f62000-06-30 17:58:25 +0000317 const xmlChar *name; /* the axis name */
318 xmlXPathAxisFunc func; /* the search function */
Daniel Veillardd4330462003-04-29 12:40:16 +0000319};
320</pre><p>
321
Daniel Veillard93d95252003-04-29 20:25:40 +0000322</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathAxisPtr"></a>xmlXPathAxisPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000323
324</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCompExpr"></a>struct xmlXPathCompExpr</h3><pre class="programlisting">struct xmlXPathCompExpr;</pre><p>
325
Daniel Veillard93d95252003-04-29 20:25:40 +0000326</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCompExprPtr"></a>xmlXPathCompExprPtr</h3><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000327
328</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFunction"></a>xmlXPathFunction ()</h3><pre class="programlisting">void (*xmlXPathFunction) (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
329 int nargs);</pre><p>
330An XPath function.
Daniel Veillard5f4b5992002-02-20 10:22:49 +0000331The arguments (if any) are popped out from the context stack
Daniel Veillardd4330462003-04-29 12:40:16 +0000332and the result is pushed on the stack.</p><p>
333
Daniel Veillard93d95252003-04-29 20:25:40 +0000334</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
335</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i> :</span></td><td>
336
337
Daniel Veillardd4330462003-04-29 12:40:16 +0000338</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3><pre class="programlisting">int xmlXPathIsNaN (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);</pre><p>
339Provides a portable <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="isnan">isnan</GTKDOCLINK>() function to detect whether a double
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000340is a NotaNumber. Based on trio code
Daniel Veillardd4330462003-04-29 12:40:16 +0000341http://sourceforge.net/projects/ctrio/</p><p>
342
Daniel Veillard93d95252003-04-29 20:25:40 +0000343</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
344</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
345
346
Daniel Veillardd4330462003-04-29 12:40:16 +0000347</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3><pre class="programlisting">int xmlXPathIsInf (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);</pre><p>
348Provides a portable <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="isinf">isinf</GTKDOCLINK>() function to detect whether a double
Daniel Veillarde7ead2d2001-08-22 23:44:09 +0000349is a +Infinite or -Infinite. Based on trio code
Daniel Veillardd4330462003-04-29 12:40:16 +0000350http://sourceforge.net/projects/ctrio/</p><p>
351
Daniel Veillard93d95252003-04-29 20:25:40 +0000352</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
353</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
354
355
356</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetGetLength"></a>xmlXPathNodeSetGetLength()</h3><pre class="programlisting">#define xmlXPathNodeSetGetLength(ns)</pre><p>
Daniel Veillardd4330462003-04-29 12:40:16 +0000357Implement a functionality similar to the DOM NodeList.length.</p><p>
358
Daniel Veillard93d95252003-04-29 20:25:40 +0000359</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
360
361
Daniel Veillardd4330462003-04-29 12:40:16 +0000362</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetItem"></a>xmlXPathNodeSetItem()</h3><pre class="programlisting">#define xmlXPathNodeSetItem(ns, index)</pre><p>
363Implements a functionality similar to the DOM NodeList.<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="item">item</GTKDOCLINK>().</p><p>
364
Daniel Veillard93d95252003-04-29 20:25:40 +0000365</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
366</td></tr><tr><td><span class="term"><i><tt>index</tt></i> :</span></td><td>
367
368
Daniel Veillardd4330462003-04-29 12:40:16 +0000369</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetIsEmpty"></a>xmlXPathNodeSetIsEmpty()</h3><pre class="programlisting">#define xmlXPathNodeSetIsEmpty(ns)</pre><p>
370Checks whether <i><tt>ns</tt></i> is empty or not.</p><p>
371
Daniel Veillard93d95252003-04-29 20:25:40 +0000372</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
373
374
Daniel Veillardd4330462003-04-29 12:40:16 +0000375</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3><pre class="programlisting">void xmlXPathFreeObject (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);</pre><p>
376Free up an xmlXPathObjectPtr object.</p><p>
377
Daniel Veillard93d95252003-04-29 20:25:40 +0000378</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>obj</tt></i> :</span></td><td>
379
380
Daniel Veillardd4330462003-04-29 12:40:16 +0000381</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeSetCreate (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
382Create a new xmlNodeSetPtr of type double and of value <i><tt>val</tt></i></p><p>
383
Daniel Veillard93d95252003-04-29 20:25:40 +0000384</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
385</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
386
387
Daniel Veillardd4330462003-04-29 12:40:16 +0000388</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3><pre class="programlisting">void xmlXPathFreeNodeSetList (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);</pre><p>
389Free up the xmlXPathObjectPtr <i><tt>obj</tt></i> but don't deallocate the objects in
390the list contrary to <a href="libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a>().</p><p>
391
Daniel Veillard93d95252003-04-29 20:25:40 +0000392</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>obj</tt></i> :</span></td><td>
393
394
Daniel Veillardd4330462003-04-29 12:40:16 +0000395</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3><pre class="programlisting">void xmlXPathFreeNodeSet (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);</pre><p>
396Free the NodeSet compound (not the actual nodes !).</p><p>
397
Daniel Veillard93d95252003-04-29 20:25:40 +0000398</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>obj</tt></i> :</span></td><td>
399
400
Daniel Veillardd4330462003-04-29 12:40:16 +0000401</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathObjectCopy (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
402allocate a new copy of a given object</p><p>
403
Daniel Veillard93d95252003-04-29 20:25:40 +0000404</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
405</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
406
407
Daniel Veillardd4330462003-04-29 12:40:16 +0000408</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3><pre class="programlisting">int xmlXPathCmpNodes (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1,
409 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
410Compare two nodes w.r.t document order</p><p>
411
Daniel Veillard93d95252003-04-29 20:25:40 +0000412</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node1</tt></i> :</span></td><td>
413</td></tr><tr><td><span class="term"><i><tt>node2</tt></i> :</span></td><td>
414</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
415
416
Daniel Veillardd4330462003-04-29 12:40:16 +0000417</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3><pre class="programlisting">int xmlXPathCastNumberToBoolean (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);</pre><p>
418Converts a number to its boolean value</p><p>
419
Daniel Veillard93d95252003-04-29 20:25:40 +0000420</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
421</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
422
423
Daniel Veillardd4330462003-04-29 12:40:16 +0000424</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3><pre class="programlisting">int xmlXPathCastStringToBoolean (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
425Converts a string to its boolean value</p><p>
426
Daniel Veillard93d95252003-04-29 20:25:40 +0000427</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
428</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
429
430
Daniel Veillardd4330462003-04-29 12:40:16 +0000431</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3><pre class="programlisting">int xmlXPathCastNodeSetToBoolean (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
432Converts a node-set to its boolean value</p><p>
433
Daniel Veillard93d95252003-04-29 20:25:40 +0000434</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
435</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
436
437
Daniel Veillardd4330462003-04-29 12:40:16 +0000438</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3><pre class="programlisting">int xmlXPathCastToBoolean (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
439Converts an XPath object to its boolean value</p><p>
440
Daniel Veillard93d95252003-04-29 20:25:40 +0000441</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
442</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
443
444
Daniel Veillardd4330462003-04-29 12:40:16 +0000445</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> xmlXPathCastBooleanToNumber (int val);</pre><p>
446Converts a boolean to its number value</p><p>
447
Daniel Veillard93d95252003-04-29 20:25:40 +0000448</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
449</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
450
451
Daniel Veillardd4330462003-04-29 12:40:16 +0000452</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> xmlXPathCastStringToNumber (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
453Converts a string to its number value</p><p>
454
Daniel Veillard93d95252003-04-29 20:25:40 +0000455</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
456</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
457
458
Daniel Veillardd4330462003-04-29 12:40:16 +0000459</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> xmlXPathCastNodeToNumber (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
460Converts a node to its number value</p><p>
461
Daniel Veillard93d95252003-04-29 20:25:40 +0000462</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td>
463</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
464
465
Daniel Veillardd4330462003-04-29 12:40:16 +0000466</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> xmlXPathCastNodeSetToNumber (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
467Converts a node-set to its number value</p><p>
468
Daniel Veillard93d95252003-04-29 20:25:40 +0000469</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
470</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
471
472
Daniel Veillardd4330462003-04-29 12:40:16 +0000473</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> xmlXPathCastToNumber (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
474Converts an XPath object to its number value</p><p>
475
Daniel Veillard93d95252003-04-29 20:25:40 +0000476</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
477</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
478
479
Daniel Veillardd4330462003-04-29 12:40:16 +0000480</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathCastBooleanToString (int val);</pre><p>
481Converts a boolean to its string value.</p><p>
482
Daniel Veillard93d95252003-04-29 20:25:40 +0000483</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
484</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
485
486
Daniel Veillardd4330462003-04-29 12:40:16 +0000487</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathCastNumberToString (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);</pre><p>
488Converts a number to its string value.</p><p>
489
Daniel Veillard93d95252003-04-29 20:25:40 +0000490</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
491</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
492
493
Daniel Veillardd4330462003-04-29 12:40:16 +0000494</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathCastNodeToString (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
495Converts a node to its string value.</p><p>
496
Daniel Veillard93d95252003-04-29 20:25:40 +0000497</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>node</tt></i> :</span></td><td>
498</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
499
500
Daniel Veillardd4330462003-04-29 12:40:16 +0000501</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathCastNodeSetToString (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
502Converts a node-set to its string value.</p><p>
503
Daniel Veillard93d95252003-04-29 20:25:40 +0000504</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ns</tt></i> :</span></td><td>
505</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
506
507
Daniel Veillardd4330462003-04-29 12:40:16 +0000508</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathCastToString (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
509Converts an existing object to its <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="string">string</GTKDOCLINK>() equivalent</p><p>
510
Daniel Veillard93d95252003-04-29 20:25:40 +0000511</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
512</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
513
514
Daniel Veillardd4330462003-04-29 12:40:16 +0000515</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertBoolean (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
516Converts an existing object to its <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="boolean">boolean</GTKDOCLINK>() equivalent</p><p>
517
Daniel Veillard93d95252003-04-29 20:25:40 +0000518</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
519</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
520
521
Daniel Veillardd4330462003-04-29 12:40:16 +0000522</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertNumber (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
523Converts an existing object to its <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="number">number</GTKDOCLINK>() equivalent</p><p>
524
Daniel Veillard93d95252003-04-29 20:25:40 +0000525</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
526</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
527
528
Daniel Veillardd4330462003-04-29 12:40:16 +0000529</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertString (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
530Converts an existing object to its <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="string">string</GTKDOCLINK>() equivalent</p><p>
531
Daniel Veillard93d95252003-04-29 20:25:40 +0000532</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
533</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
534
535
Daniel Veillardd4330462003-04-29 12:40:16 +0000536</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathInit"></a>xmlXPathInit ()</h3><pre class="programlisting">void xmlXPathInit (void);</pre><p>
537Initialize the XPath environment</p><p>
538
539</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> xmlXPathNewContext (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
540Create a new xmlXPathContext</p><p>
541
Daniel Veillard93d95252003-04-29 20:25:40 +0000542</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
543</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
544
545
Daniel Veillardd4330462003-04-29 12:40:16 +0000546</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3><pre class="programlisting">void xmlXPathFreeContext (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
547Free up an xmlXPathContext</p><p>
548
Daniel Veillard93d95252003-04-29 20:25:40 +0000549</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
550
551
Daniel Veillardd4330462003-04-29 12:40:16 +0000552</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="long">long</GTKDOCLINK> xmlXPathOrderDocElems (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
553Call this routine to speed up XPath computation on static documents.
Daniel Veillardc2d4a932003-04-01 11:13:05 +0000554This stamps all the element nodes with the document order
555Like for line information, the order is kept in the element-&gt;content
556field, the value stored is actually - the node number (startting at -1)
Daniel Veillardd4330462003-04-29 12:40:16 +0000557to be able to differenciate from line numbers.</p><p>
558
Daniel Veillard93d95252003-04-29 20:25:40 +0000559</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>doc</tt></i> :</span></td><td>
560</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
561
562
Daniel Veillardd4330462003-04-29 12:40:16 +0000563</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEval"></a>xmlXPathEval ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathEval (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
564 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);</pre><p>
565Evaluate the XPath Location Path in the given context.</p><p>
566
Daniel Veillard93d95252003-04-29 20:25:40 +0000567</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
568</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
569</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
570
571
Daniel Veillardd4330462003-04-29 12:40:16 +0000572</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathEvalExpression (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
573 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
574Evaluate the XPath expression in the given context.</p><p>
575
Daniel Veillard93d95252003-04-29 20:25:40 +0000576</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
577</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
578</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
579
580
Daniel Veillardd4330462003-04-29 12:40:16 +0000581</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3><pre class="programlisting">int xmlXPathEvalPredicate (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
582 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);</pre><p>
583Evaluate a predicate result for the current node.
Daniel Veillardc7ad7ce2001-03-22 21:45:29 +0000584A PredicateExpr is evaluated by evaluating the Expr and converting
585the result to a boolean. If the result is a number, the result will
586be converted to true if the number is equal to the position of the
587context node in the context node list (as returned by the position
588function) and will be converted to false otherwise; if the result
589is not a number, then the result will be converted as if by a call
Daniel Veillardd4330462003-04-29 12:40:16 +0000590to the boolean function.</p><p>
591
Daniel Veillard93d95252003-04-29 20:25:40 +0000592</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td>
593</td></tr><tr><td><span class="term"><i><tt>res</tt></i> :</span></td><td>
594</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
595
596
Daniel Veillardd4330462003-04-29 12:40:16 +0000597</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> xmlXPathCompile (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
598Compile an XPath expression</p><p>
599
Daniel Veillard93d95252003-04-29 20:25:40 +0000600</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>str</tt></i> :</span></td><td>
601</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
602
603
Daniel Veillardd4330462003-04-29 12:40:16 +0000604</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathCompiledEval (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
605 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);</pre><p>
606Evaluate the Precompiled XPath expression in the given context.</p><p>
607
Daniel Veillard93d95252003-04-29 20:25:40 +0000608</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>comp</tt></i> :</span></td><td>
609</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>
610</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>
611
612
Daniel Veillardd4330462003-04-29 12:40:16 +0000613</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3><pre class="programlisting">void xmlXPathFreeCompExpr (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);</pre><p>
614Free up the memory allocated by <i><tt>comp</tt></i></p><p>
615
Daniel Veillard93d95252003-04-29 20:25:40 +0000616</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>comp</tt></i> :</span></td><td>
617
618
Daniel Veillardd4330462003-04-29 12:40:16 +0000619</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-HTMLtree.html"><b>&lt;&lt; HTMLtree</b></a></td><td align="right"><a accesskey="n" href="libxml-xpathInternals.html"><b>xpathInternals &gt;&gt;</b></a></td></tr></table></body></html>