libxml-xpathInternals.html revision d7cec926292b83b46af271285b0a305e99f66cd0
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xpathInternals</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
2        .synopsis, .classsynopsis {
3            background: #eeeeee;
4            border: solid 1px #aaaaaa;
5            padding: 0.5em;
6        }
7        .programlisting {
8            background: #eeeeff;
9            border: solid 1px #aaaaff;
10            padding: 0.5em;
11        }
12        .variablelist {
13            padding: 4px;
14            margin-left: 3em;
15        }
16        .navigation {
17            background: #ffeeee;
18            border: solid 1px #ffaaaa;
19            margin-top: 0.5em;
20            margin-bottom: 0.5em;
21        }
22        .navigation a {
23            color: #770000;
24        }
25        .navigation a:visited {
26            color: #550000;
27        }
28        .navigation .title {
29            font-size: 200%;
30        }
31      </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-xpath.html" title="xpath"><link rel="next" href="libxml-xpointer.html" title="xpointer"></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-xpath.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-xpointer.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-xpathInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpathInternals</h2><p>xpathInternals &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
32
33
34
35#define     <a href="libxml-xpathInternals.html#xmlXPathSetError">xmlXPathSetError</a>                (ctxt, err)
36#define     <a href="libxml-xpathInternals.html#xmlXPathSetArityError">xmlXPathSetArityError</a>           (ctxt)
37#define     <a href="libxml-xpathInternals.html#xmlXPathSetTypeError">xmlXPathSetTypeError</a>            (ctxt)
38#define     <a href="libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a>                (ctxt)
39#define     <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>              (ctxt)
40#define     <a href="libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a>             (ctxt)
41#define     <a href="libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a>          (ctxt)
42int         <a href="libxml-xpathInternals.html#xmlXPathPopBoolean">xmlXPathPopBoolean</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
43<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK>      <a href="libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
44<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
45<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
46void*       <a href="libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
47#define     <a href="libxml-xpathInternals.html#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>           (ctxt, val)
48#define     <a href="libxml-xpathInternals.html#xmlXPathReturnTrue">xmlXPathReturnTrue</a>              (ctxt)
49#define     <a href="libxml-xpathInternals.html#xmlXPathReturnFalse">xmlXPathReturnFalse</a>             (ctxt)
50#define     <a href="libxml-xpathInternals.html#xmlXPathReturnNumber">xmlXPathReturnNumber</a>            (ctxt, val)
51#define     <a href="libxml-xpathInternals.html#xmlXPathReturnString">xmlXPathReturnString</a>            (ctxt, str)
52#define     <a href="libxml-xpathInternals.html#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>       (ctxt)
53#define     <a href="libxml-xpathInternals.html#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>           (ctxt, ns)
54#define     <a href="libxml-xpathInternals.html#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>      (ctxt)
55#define     <a href="libxml-xpathInternals.html#xmlXPathReturnExternal">xmlXPathReturnExternal</a>          (ctxt, val)
56#define     <a href="libxml-xpathInternals.html#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>          (ctxt)
57#define     <a href="libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>         (ctxt)
58#define     <a href="libxml-xpathInternals.html#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>            (ns)
59#define     <a href="libxml-xpathInternals.html#CHECK-ERROR-CAPS">CHECK_ERROR</a>
60#define     <a href="libxml-xpathInternals.html#CHECK-ERROR0-CAPS">CHECK_ERROR0</a>
61#define     <a href="libxml-xpathInternals.html#XP-ERROR-CAPS">XP_ERROR</a>                        (X)
62#define     <a href="libxml-xpathInternals.html#XP-ERROR0-CAPS">XP_ERROR0</a>                       (X)
63#define     <a href="libxml-xpathInternals.html#CHECK-TYPE-CAPS">CHECK_TYPE</a>                      (typeval)
64#define     <a href="libxml-xpathInternals.html#CHECK-TYPE0-CAPS">CHECK_TYPE0</a>                     (typeval)
65#define     <a href="libxml-xpathInternals.html#CHECK-ARITY-CAPS">CHECK_ARITY</a>                     (x)
66#define     <a href="libxml-xpathInternals.html#CAST-TO-STRING-CAPS">CAST_TO_STRING</a>
67#define     <a href="libxml-xpathInternals.html#CAST-TO-NUMBER-CAPS">CAST_TO_NUMBER</a>
68#define     <a href="libxml-xpathInternals.html#CAST-TO-BOOLEAN-CAPS">CAST_TO_BOOLEAN</a>
69<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> (<a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">*xmlXPathVariableLookupFunc</a>)
70                                            (void *ctxt,
71                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
72                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
73void        <a href="libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
74                                             <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f,
75                                             void *data);
76<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> (<a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">*xmlXPathFuncLookupFunc</a>)  (void *ctxt,
77                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
78                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
79void        <a href="libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
80                                             <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f,
81                                             void *funcCtxt);
82void        <a href="libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a>                   (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
83                                             const char *file,
84                                             int line,
85                                             int no);
86void        <a href="libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>         (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
87                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur,
88                                             int depth);
89void        <a href="libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>       (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
90                                             <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
91                                             int depth);
92int         <a href="libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
93                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
94<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
95                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
96<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
97                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
98<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
99<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
100int         <a href="libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
101                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
102<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
103                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
104<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
105                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
106<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a>           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
107                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
108<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a>               (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
109                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
110<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
111                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
112<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
113                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
114<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
115                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
116<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
117                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
118int         <a href="libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a>              (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
119                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
120                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
121const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a>             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
122                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
123void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
124int         <a href="libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
125                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
126                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
127int         <a href="libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>          (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
128                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
129                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
130                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
131int         <a href="libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>        (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
132                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
133                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
134int         <a href="libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
135                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
136                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
137                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
138<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
139                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
140<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>   (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
141                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
142                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
143void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
144<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a>    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
145                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
146<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
147                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
148                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
149void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>
150                                            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
151<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a>
152                                            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
153                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
154void        <a href="libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
155<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#valuePop">valuePop</a>                  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
156int         <a href="libxml-xpathInternals.html#valuePush">valuePush</a>                       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
157                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
158<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
159<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a>        (const char *val);
160<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a>        (<a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
161<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a>       (char *val);
162<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a>          (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);
163<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a>        (int val);
164<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
165<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a>      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
166void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
167                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
168void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
169                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
170void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
171                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
172                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
173void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
174void        <a href="libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a>                    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
175void        <a href="libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a>                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
176<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
177<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
178<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK>      <a href="libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
179int         <a href="libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
180                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
181void        <a href="libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
182<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1,
183                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
184void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
185                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
186void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
187                                             int val);
188<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
189<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>       (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
190<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a>      (void *val);
191int         <a href="libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
192int         <a href="libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
193int         <a href="libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
194                                             int inf,
195                                             int strict);
196void        <a href="libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
197void        <a href="libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
198void        <a href="libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
199void        <a href="libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
200void        <a href="libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
201void        <a href="libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
202int         <a href="libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a>              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
203<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a>                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
204                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
205<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
206                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
207<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
208                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
209<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
210                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
211<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
212                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
213<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
214                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
215<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
216                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
217<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
218                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
219<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
220                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
221<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
222                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
223<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
224                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
225<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
226                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
227<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
228                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
229void        <a href="libxml-xpathInternals.html#xmlXPathLastFunction">xmlXPathLastFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
230                                             int nargs);
231void        <a href="libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a>        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
232                                             int nargs);
233void        <a href="libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
234                                             int nargs);
235void        <a href="libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
236                                             int nargs);
237void        <a href="libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
238                                             int nargs);
239void        <a href="libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
240                                             int nargs);
241void        <a href="libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
242                                             int nargs);
243void        <a href="libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
244                                             int nargs);
245void        <a href="libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
246                                             int nargs);
247void        <a href="libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a>        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
248                                             int nargs);
249void        <a href="libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
250                                             int nargs);
251void        <a href="libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
252                                             int nargs);
253void        <a href="libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
254                                             int nargs);
255void        <a href="libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
256                                             int nargs);
257void        <a href="libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
258                                             int nargs);
259void        <a href="libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
260                                             int nargs);
261void        <a href="libxml-xpathInternals.html#xmlXPathNotFunction">xmlXPathNotFunction</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
262                                             int nargs);
263void        <a href="libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
264                                             int nargs);
265void        <a href="libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
266                                             int nargs);
267void        <a href="libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
268                                             int nargs);
269void        <a href="libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
270                                             int nargs);
271void        <a href="libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
272                                             int nargs);
273void        <a href="libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
274                                             int nargs);
275void        <a href="libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
276                                             int nargs);
277void        <a href="libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
278                                             int nargs);
279void        <a href="libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
280                                             int nargs);
281void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>           (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
282</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
283
284</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlXPathSetError"></a>xmlXPathSetError()</h3><pre class="programlisting">#define     xmlXPathSetError(ctxt, err)</pre><p>
285Raises an error.</p><p>
286
287</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>  an XPath parser context
288</td></tr><tr><td><span class="term"><i><tt>err</tt></i>�:</span></td><td>  an xmlXPathError code
289</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSetArityError"></a>xmlXPathSetArityError()</h3><pre class="programlisting">#define     xmlXPathSetArityError(ctxt)</pre><p>
290Raises an XPATH_INVALID_ARITY error.</p><p>
291
292</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>  an XPath parser context
293</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSetTypeError"></a>xmlXPathSetTypeError()</h3><pre class="programlisting">#define     xmlXPathSetTypeError(ctxt)</pre><p>
294Raises an XPATH_INVALID_TYPE error.</p><p>
295
296</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>  an XPath parser context
297</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathGetError"></a>xmlXPathGetError()</h3><pre class="programlisting">#define xmlXPathGetError(ctxt)	  ((ctxt)-&gt;error)
298</pre><p>
299Get the error code of an XPath context.</p><p>
300
301</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>  an XPath parser context
302</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCheckError"></a>xmlXPathCheckError()</h3><pre class="programlisting">#define xmlXPathCheckError(ctxt)  ((ctxt)-&gt;error != XPATH_EXPRESSION_OK)
303</pre><p>
304Check if an XPath error was raised.</p><p>
305
306</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>  an XPath parser context
307</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathGetDocument"></a>xmlXPathGetDocument()</h3><pre class="programlisting">#define xmlXPathGetDocument(ctxt)	((ctxt)-&gt;context-&gt;doc)
308</pre><p>
309Get the document of an XPath context.</p><p>
310
311</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>  an XPath parser context
312</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathGetContextNode"></a>xmlXPathGetContextNode()</h3><pre class="programlisting">#define xmlXPathGetContextNode(ctxt)	((ctxt)-&gt;context-&gt;node)
313</pre><p>
314Get the context node of an XPath context.</p><p>
315
316</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> an XPath parser context
317</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3><pre class="programlisting">int         xmlXPathPopBoolean              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
318Pops a boolean from the stack, handling conversion if needed.
319Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
320
321</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>  an XPath parser context
322</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the boolean
323</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK>      xmlXPathPopNumber               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
324Pops a number from the stack, handling conversion if needed.
325Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
326
327</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>  an XPath parser context
328</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number
329</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathPopString               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
330Pops a string from the stack, handling conversion if needed.
331Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
332
333</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>  an XPath parser context
334</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the string
335</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathPopNodeSet            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
336Pops a node-set from the stack, handling conversion if needed.
337Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
338
339</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>  an XPath parser context
340</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the node-set
341</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3><pre class="programlisting">void*       xmlXPathPopExternal             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
342Pops an external object from the stack, handling conversion if needed.
343Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
344
345</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>  an XPath parser context
346</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnBoolean"></a>xmlXPathReturnBoolean()</h3><pre class="programlisting">#define     xmlXPathReturnBoolean(ctxt, val)</pre><p>
347Pushes the boolean <i><tt>val</tt></i> on the context stack.</p><p>
348
349</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>  an XPath parser context
350</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  a boolean
351</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnTrue"></a>xmlXPathReturnTrue()</h3><pre class="programlisting">#define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)
352</pre><p>
353Pushes true on the context stack.</p><p>
354
355</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>  an XPath parser context
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="xmlXPathReturnFalse"></a>xmlXPathReturnFalse()</h3><pre class="programlisting">#define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)
357</pre><p>
358Pushes false on the context stack.</p><p>
359
360</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>  an XPath parser context
361</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNumber"></a>xmlXPathReturnNumber()</h3><pre class="programlisting">#define     xmlXPathReturnNumber(ctxt, val)</pre><p>
362Pushes the double <i><tt>val</tt></i> on the context stack.</p><p>
363
364</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>  an XPath parser context
365</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  a double
366</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnString"></a>xmlXPathReturnString()</h3><pre class="programlisting">#define     xmlXPathReturnString(ctxt, str)</pre><p>
367Pushes the string <i><tt>str</tt></i> on the context stack.</p><p>
368
369</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>  an XPath parser context
370</td></tr><tr><td><span class="term"><i><tt>str</tt></i>�:</span></td><td>  a string
371</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyString"></a>xmlXPathReturnEmptyString()</h3><pre class="programlisting">#define     xmlXPathReturnEmptyString(ctxt)</pre><p>
372Pushes an empty string on the stack.</p><p>
373
374</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>  an XPath parser context
375</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNodeSet"></a>xmlXPathReturnNodeSet()</h3><pre class="programlisting">#define     xmlXPathReturnNodeSet(ctxt, ns)</pre><p>
376Pushes the node-set <i><tt>ns</tt></i> on the context stack.</p><p>
377
378</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>  an XPath parser context
379</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td>  a node-set
380</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyNodeSet"></a>xmlXPathReturnEmptyNodeSet()</h3><pre class="programlisting">#define     xmlXPathReturnEmptyNodeSet(ctxt)</pre><p>
381Pushes an empty node-set on the context stack.</p><p>
382
383</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>  an XPath parser context
384</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathReturnExternal"></a>xmlXPathReturnExternal()</h3><pre class="programlisting">#define     xmlXPathReturnExternal(ctxt, val)</pre><p>
385Pushes user data on the context stack.</p><p>
386
387</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>  an XPath parser context
388</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  user data
389</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsNodeSet"></a>xmlXPathStackIsNodeSet()</h3><pre class="programlisting">#define     xmlXPathStackIsNodeSet(ctxt)</pre><p>
390Check if the current value on the XPath stack is a node set or
391an XSLT value tree.</p><p>
392
393</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> an XPath parser context
394</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsExternal"></a>xmlXPathStackIsExternal()</h3><pre class="programlisting">#define     xmlXPathStackIsExternal(ctxt)</pre><p>
395Checks if the current value on the XPath stack is an external
396object.</p><p>
397
398</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> an XPath parser context
399</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEmptyNodeSet"></a>xmlXPathEmptyNodeSet()</h3><pre class="programlisting">#define     xmlXPathEmptyNodeSet(ns)</pre><p>
400Empties a node-set.</p><p>
401
402</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>  a node-set
403</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-ERROR-CAPS"></a>CHECK_ERROR</h3><pre class="programlisting">#define     CHECK_ERROR</pre><p>
404Macro to return from the function if an XPath error was detected.</p><p>
405
406</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-ERROR0-CAPS"></a>CHECK_ERROR0</h3><pre class="programlisting">#define     CHECK_ERROR0</pre><p>
407Macro to return 0 from the function if an XPath error was detected.</p><p>
408
409</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XP-ERROR-CAPS"></a>XP_ERROR()</h3><pre class="programlisting">#define     XP_ERROR(X)</pre><p>
410Macro to raise an XPath error and return.</p><p>
411
412</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>X</tt></i>�:</span></td><td>  the error code
413</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="XP-ERROR0-CAPS"></a>XP_ERROR0()</h3><pre class="programlisting">#define     XP_ERROR0(X)</pre><p>
414Macro to raise an XPath error and return 0.</p><p>
415
416</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>X</tt></i>�:</span></td><td>  the error code
417</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-TYPE-CAPS"></a>CHECK_TYPE()</h3><pre class="programlisting">#define     CHECK_TYPE(typeval)</pre><p>
418Macro to check that the value on top of the XPath stack is of a given
419type.</p><p>
420
421</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>�:</span></td><td>  the XPath type
422</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-TYPE0-CAPS"></a>CHECK_TYPE0()</h3><pre class="programlisting">#define     CHECK_TYPE0(typeval)</pre><p>
423Macro to check that the value on top of the XPath stack is of a given
424type. Return(0) in case of failure</p><p>
425
426</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>�:</span></td><td>  the XPath type
427</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CHECK-ARITY-CAPS"></a>CHECK_ARITY()</h3><pre class="programlisting">#define     CHECK_ARITY(x)</pre><p>
428Macro to check that the number of args passed to an XPath function matches.</p><p>
429
430</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>x</tt></i>�:</span></td><td>  the number of expected args
431</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CAST-TO-STRING-CAPS"></a>CAST_TO_STRING</h3><pre class="programlisting">#define     CAST_TO_STRING</pre><p>
432Macro to try to cast the value on the top of the XPath stack to a string.</p><p>
433
434</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CAST-TO-NUMBER-CAPS"></a>CAST_TO_NUMBER</h3><pre class="programlisting">#define     CAST_TO_NUMBER</pre><p>
435Macro to try to cast the value on the top of the XPath stack to a number.</p><p>
436
437</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="CAST-TO-BOOLEAN-CAPS"></a>CAST_TO_BOOLEAN</h3><pre class="programlisting">#define     CAST_TO_BOOLEAN</pre><p>
438Macro to try to cast the value on the top of the XPath stack to a boolean.</p><p>
439
440</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupFunc"></a>xmlXPathVariableLookupFunc ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> (*xmlXPathVariableLookupFunc)
441                                            (void *ctxt,
442                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
443                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
444Prototype for callbacks used to plug variable lookup in the XPath
445engine.</p><p>
446
447</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>  an XPath context
448</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  name of the variable
449</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the namespace name hosting this variable
450</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the XPath object value or NULL if not found.
451</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3><pre class="programlisting">void        xmlXPathRegisterVariableLookup  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
452                                             <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f,
453                                             void *data);</pre><p>
454register an external mechanism to do variable lookup</p><p>
455
456</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>  the XPath context
457</td></tr><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td>  the lookup function
458</td></tr><tr><td><span class="term"><i><tt>data</tt></i>�:</span></td><td>  the lookup data
459</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFuncLookupFunc"></a>xmlXPathFuncLookupFunc ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> (*xmlXPathFuncLookupFunc)  (void *ctxt,
460                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
461                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
462Prototype for callbacks used to plug function lookup in the XPath
463engine.</p><p>
464
465</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>  an XPath context
466</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  name of the function
467</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the namespace name hosting this function
468</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the XPath function or NULL if not found.
469</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3><pre class="programlisting">void        xmlXPathRegisterFuncLookup      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
470                                             <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f,
471                                             void *funcCtxt);</pre><p>
472Registers an external mechanism to do function lookup.</p><p>
473
474</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>  the XPath context
475</td></tr><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td>  the lookup function
476</td></tr><tr><td><span class="term"><i><tt>funcCtxt</tt></i>�:</span></td><td>  the lookup data
477</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPatherror"></a>xmlXPatherror ()</h3><pre class="programlisting">void        xmlXPatherror                   (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
478                                             const char *file,
479                                             int line,
480                                             int no);</pre><p>
481Formats an error message.</p><p>
482
483</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>  the XPath Parser context
484</td></tr><tr><td><span class="term"><i><tt>file</tt></i>�:</span></td><td>  the file name
485</td></tr><tr><td><span class="term"><i><tt>line</tt></i>�:</span></td><td>  the line number
486</td></tr><tr><td><span class="term"><i><tt>no</tt></i>�:</span></td><td>  the error number
487</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3><pre class="programlisting">void        xmlXPathDebugDumpObject         (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
488                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur,
489                                             int depth);</pre><p>
490Dump the content of the object for debugging purposes</p><p>
491
492</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>output</tt></i>�:</span></td><td>  the FILE * to dump the output
493</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the object to inspect
494</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>�:</span></td><td>  indentation level
495</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3><pre class="programlisting">void        xmlXPathDebugDumpCompExpr       (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
496                                             <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
497                                             int depth);</pre><p>
498Dumps the tree of the compiled XPath expression.</p><p>
499
500</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>output</tt></i>�:</span></td><td>  the FILE * for the output
501</td></tr><tr><td><span class="term"><i><tt>comp</tt></i>�:</span></td><td>  the precompiled XPath expression
502</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>�:</span></td><td>  the indentation level.
503</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3><pre class="programlisting">int         xmlXPathNodeSetContains         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
504                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
505checks whether <i><tt>cur</tt></i> contains <i><tt>val</tt></i></p><p>
506
507</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the node-set
508</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  the node
509</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>true (1) if <i><tt>cur</tt></i> contains <i><tt>val</tt></i>, false (0) otherwise
510</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDifference            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
511                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
512Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="difference">difference</GTKDOCLINK>() function:
513   node-set set:difference (node-set, node-set)</p><p>
514
515</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set
516</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set
517</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the difference between the two node sets, or nodes1 if
518        nodes2 is empty
519</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathIntersection          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
520                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
521Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="intersection">intersection</GTKDOCLINK>() function:
522   node-set set:intersection (node-set, node-set)</p><p>
523
524</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set
525</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set
526</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a node set comprising the nodes that are within both the
527        node sets passed as arguments
528</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDistinctSorted        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);</pre><p>
529Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="distinct">distinct</GTKDOCLINK>() function:
530   node-set set:distinct (node-set)</p><p>
531
532</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td>  a node-set, sorted by document order
533</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a subset of the nodes contained in <i><tt>nodes</tt></i>, or <i><tt>nodes</tt></i> if
534        it is empty
535</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDistinct              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);</pre><p>
536Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="distinct">distinct</GTKDOCLINK>() function:
537   node-set set:distinct (node-set)
538<i><tt>nodes</tt></i> is sorted by document order, then <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="exslSetsDistinctSorted">exslSetsDistinctSorted</GTKDOCLINK>
539is called with the sorted node-set</p><p>
540
541</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td>  a node-set
542</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a subset of the nodes contained in <i><tt>nodes</tt></i>, or <i><tt>nodes</tt></i> if
543        it is empty
544</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3><pre class="programlisting">int         xmlXPathHasSameNodes            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
545                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
546Implements the EXSLT - Sets has-same-nodes function:
547   boolean set:has-same-node(node-set, node-set)</p><p>
548
549</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set
550</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set
551</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>true (1) if <i><tt>nodes1</tt></i> shares any node with <i><tt>nodes2</tt></i>, false (0)
552        otherwise
553</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeLeadingSorted     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
554                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
555Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="leading">leading</GTKDOCLINK>() function:
556   node-set set:leading (node-set, node-set)</p><p>
557
558</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td> a node-set, sorted by document order
559</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> a node
560</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that precede <i><tt>node</tt></i> in document order,
561        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
562        doesn't contain <i><tt>node</tt></i>
563</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathLeadingSorted         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
564                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
565Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="leading">leading</GTKDOCLINK>() function:
566   node-set set:leading (node-set, node-set)</p><p>
567
568</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set, sorted by document order
569</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set, sorted by document order
570</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that precede the first node in <i><tt>nodes2</tt></i>
571        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
572        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
573</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeLeading           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
574                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
575Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="leading">leading</GTKDOCLINK>() function:
576   node-set set:leading (node-set, node-set)
577<i><tt>nodes</tt></i> is sorted by document order, then <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="exslSetsNodeLeadingSorted">exslSetsNodeLeadingSorted</GTKDOCLINK>
578is called.</p><p>
579
580</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td>  a node-set
581</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td>  a node
582</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that precede <i><tt>node</tt></i> in document order,
583        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
584        doesn't contain <i><tt>node</tt></i>
585</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathLeading               (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
586                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
587Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="leading">leading</GTKDOCLINK>() function:
588   node-set set:leading (node-set, node-set)
589<i><tt>nodes1</tt></i> and <i><tt>nodes2</tt></i> are sorted by document order, then
590<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="exslSetsLeadingSorted">exslSetsLeadingSorted</GTKDOCLINK> is called.</p><p>
591
592</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set
593</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set
594</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that precede the first node in <i><tt>nodes2</tt></i>
595        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
596        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
597</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeTrailingSorted    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
598                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
599Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="trailing">trailing</GTKDOCLINK>() function:
600   node-set set:trailing (node-set, node-set)</p><p>
601
602</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td> a node-set, sorted by document order
603</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td> a node
604</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that follow <i><tt>node</tt></i> in document order,
605        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
606        doesn't contain <i><tt>node</tt></i>
607</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathTrailingSorted        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
608                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
609Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="trailing">trailing</GTKDOCLINK>() function:
610   node-set set:trailing (node-set, node-set)</p><p>
611
612</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set, sorted by document order
613</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set, sorted by document order
614</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that follow the first node in <i><tt>nodes2</tt></i>
615        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
616        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
617</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeTrailing          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
618                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
619Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="trailing">trailing</GTKDOCLINK>() function:
620   node-set set:trailing (node-set, node-set)
621<i><tt>nodes</tt></i> is sorted by document order, then <a href="libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>
622is called.</p><p>
623
624</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes</tt></i>�:</span></td><td>  a node-set
625</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td>  a node
626</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that follow <i><tt>node</tt></i> in document order,
627        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
628        doesn't contain <i><tt>node</tt></i>
629</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathTrailing              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
630                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
631Implements the EXSLT - Sets <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="trailing">trailing</GTKDOCLINK>() function:
632   node-set set:trailing (node-set, node-set)
633<i><tt>nodes1</tt></i> and <i><tt>nodes2</tt></i> are sorted by document order, then
634<a href="libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a> is called.</p><p>
635
636</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>nodes1</tt></i>�:</span></td><td>  a node-set
637</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>�:</span></td><td>  a node-set
638</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that follow the first node in <i><tt>nodes2</tt></i>
639        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
640        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
641</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3><pre class="programlisting">int         xmlXPathRegisterNs              (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
642                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
643                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
644Register a new namespace. If <i><tt>ns_uri</tt></i> is NULL it unregisters
645the namespace</p><p>
646
647</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>  the XPath context
648</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td>  the namespace prefix
649</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the namespace name
650</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success, -1 in case of error
651</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathNsLookup             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
652                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
653Search in the namespace declaration array of the context for the given
654namespace name associated to the given prefix</p><p>
655
656</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>  the XPath context
657</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>�:</span></td><td>  the namespace prefix value
658</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the value or NULL if not found
659</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredNsCleanup     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
660Cleanup the XPath context data associated to registered variables</p><p>
661
662</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>  the XPath context
663</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3><pre class="programlisting">int         xmlXPathRegisterFunc            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
664                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
665                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);</pre><p>
666Register a new function. If <i><tt>f</tt></i> is NULL it unregisters the function</p><p>
667
668</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>  the XPath context
669</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the function name
670</td></tr><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td>  the function implementation or NULL
671</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success, -1 in case of error
672</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3><pre class="programlisting">int         xmlXPathRegisterFuncNS          (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
673                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
674                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
675                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);</pre><p>
676Register a new function. If <i><tt>f</tt></i> is NULL it unregisters the function</p><p>
677
678</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>  the XPath context
679</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the function name
680</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the function namespace URI
681</td></tr><tr><td><span class="term"><i><tt>f</tt></i>�:</span></td><td>  the function implementation or NULL
682</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success, -1 in case of error
683</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3><pre class="programlisting">int         xmlXPathRegisterVariable        (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
684                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
685                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
686Register a new variable value. If <i><tt>value</tt></i> is NULL it unregisters
687the variable</p><p>
688
689</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>  the XPath context
690</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the variable name
691</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td>  the variable value or NULL
692</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success, -1 in case of error
693</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3><pre class="programlisting">int         xmlXPathRegisterVariableNS      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
694                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
695                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
696                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
697Register a new variable value. If <i><tt>value</tt></i> is NULL it unregisters
698the variable</p><p>
699
700</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>  the XPath context
701</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the variable name
702</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the variable namespace URI
703</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td>  the variable value or NULL
704</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 in case of success, -1 in case of error
705</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> xmlXPathFunctionLookup     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
706                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
707Search in the Function array of the context for the given
708function.</p><p>
709
710</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>  the XPath context
711</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the function name
712</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlXPathFunction or NULL if not found
713</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> xmlXPathFunctionLookupNS   (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
714                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
715                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
716Search in the Function array of the context for the given
717function.</p><p>
718
719</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>  the XPath context
720</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the function name
721</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the function namespace URI
722</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlXPathFunction or NULL if not found
723</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredFuncsCleanup  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
724Cleanup the XPath context data associated to registered functions</p><p>
725
726</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>  the XPath context
727</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathVariableLookup    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
728                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
729Search in the Variable array of the context for the given
730variable value.</p><p>
731
732</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>  the XPath context
733</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the variable name
734</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a copy of the value or NULL if not found
735</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathVariableLookupNS  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
736                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
737                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
738Search in the Variable array of the context for the given
739variable value.</p><p>
740
741</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>  the XPath context
742</td></tr><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  the variable name
743</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>�:</span></td><td>  the variable namespace URI
744</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the a copy of the value or NULL if not found
745</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredVariablesCleanup
746                                            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
747Cleanup the XPath context data associated to registered variables</p><p>
748
749</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>  the XPath context
750</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> xmlXPathNewParserContext
751                                            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
752                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
753Create a new xmlXPathParserContext</p><p>
754
755</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>  the XPath expression
756</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>�:</span></td><td>  the XPath context
757</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlXPathParserContext just allocated.
758</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3><pre class="programlisting">void        xmlXPathFreeParserContext       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
759Free up an xmlXPathParserContext</p><p>
760
761</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>  the context to free
762</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="valuePop"></a>valuePop ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> valuePop                  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
763Pops the top XPath object from the value stack</p><p>
764
765</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> an XPath evaluation context
766</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the XPath object just removed
767</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="valuePush"></a>valuePush ()</h3><pre class="programlisting">int         valuePush                       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
768                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
769Pushes a new XPath object on top of the value stack</p><p>
770
771</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>  an XPath evaluation context
772</td></tr><tr><td><span class="term"><i><tt>value</tt></i>�:</span></td><td>  the XPath object
773</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of items on the value stack
774</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewString         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
775Create a new xmlXPathObjectPtr of type string and of value <i><tt>val</tt></i></p><p>
776
777</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>  the xmlChar * value
778</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
779</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewCString        (const char *val);</pre><p>
780Create a new xmlXPathObjectPtr of type string and of value <i><tt>val</tt></i></p><p>
781
782</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>  the char * value
783</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
784</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapString        (<a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
785Wraps the <i><tt>val</tt></i> string into an XPath object.</p><p>
786
787</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>  the xmlChar * value
788</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
789</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapCString       (char *val);</pre><p>
790Wraps a string into an XPath object.</p><p>
791
792</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>  the char * value
793</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
794</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewFloat          (<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK> val);</pre><p>
795Create a new xmlXPathObjectPtr of type double and of value <i><tt>val</tt></i></p><p>
796
797</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>  the double value
798</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
799</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewBoolean        (int val);</pre><p>
800Create a new xmlXPathObjectPtr of type boolean and of value <i><tt>val</tt></i></p><p>
801
802</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>  the boolean value
803</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
804</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewNodeSet        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
805Create a new xmlXPathObjectPtr of type NodeSet and initialize
806it with the single Node <i><tt>val</tt></i></p><p>
807
808</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>  the NodePtr value
809</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
810</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewValueTree      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
811Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize
812it with the tree root <i><tt>val</tt></i></p><p>
813
814</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>  the NodePtr value
815</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
816</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3><pre class="programlisting">void        xmlXPathNodeSetAdd              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
817                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
818add a new xmlNodePtr to an existing NodeSet</p><p>
819
820</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the initial node set
821</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  a new xmlNodePtr
822</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3><pre class="programlisting">void        xmlXPathNodeSetAddUnique        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
823                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
824add a new xmlNodePtr to an existing NodeSet, optimized version
825when we are sure the node is not already in the set.</p><p>
826
827</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the initial node set
828</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  a new xmlNodePtr
829</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3><pre class="programlisting">void        xmlXPathNodeSetAddNs            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
830                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
831                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
832add a new namespace node to an existing NodeSet</p><p>
833
834</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the initial node set
835</td></tr><tr><td><span class="term"><i><tt>node</tt></i>�:</span></td><td>  the hosting node
836</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>�:</span></td><td>  a the namespace node
837</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3><pre class="programlisting">void        xmlXPathNodeSetSort             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);</pre><p>
838Sort the node set in document order</p><p>
839
840</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>set</tt></i>�:</span></td><td>  the node set
841</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3><pre class="programlisting">void        xmlXPathRoot                    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
842Initialize the context to the root of the document</p><p>
843
844</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>  the XPath Parser context
845</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3><pre class="programlisting">void        xmlXPathEvalExpr                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
846Parse and evaluate an XPath expression in the given context,
847then push the result on the context stack</p><p>
848
849</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>  the XPath Parser context
850</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathParseName"></a>xmlXPathParseName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathParseName               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
851parse an XML name
852</p><p>
853[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
854                 CombiningChar | Extender
855</p><p>
856[5] Name ::= (Letter | '_' | ':') (NameChar)*</p><p>
857
858</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>  the XPath Parser context
859</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace name or NULL
860</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathParseNCName             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
861parse an XML namespace non qualified name.
862</p><p>
863[NS 3] NCName ::= (Letter | '_') (NCNameChar)*
864</p><p>
865[NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
866                      CombiningChar | Extender</p><p>
867
868</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>  the XPath Parser context
869</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the namespace name or NULL
870</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3><pre class="programlisting"><GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="double">double</GTKDOCLINK>      xmlXPathStringEvalNumber        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
871[30a]  Float  ::= Number ('e' Digits?)?
872</p><p>
873 [30]   Number ::=   Digits ('.' Digits?)?
874                   | '.' Digits 
875 [31]   Digits ::=   [0-9]+
876</p><p>
877Compile a Number in the string
878In complement of the Number expression, this function also handles
879negative values : '-' Number.</p><p>
880
881</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>  A string to scan
882</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the double value.
883</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3><pre class="programlisting">int         xmlXPathEvaluatePredicateResult (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
884                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);</pre><p>
885Evaluate a predicate result for the current node.
886A PredicateExpr is evaluated by evaluating the Expr and converting
887the result to a boolean. If the result is a number, the result will
888be converted to true if the number is equal to the position of the
889context node in the context node list (as returned by the position
890function) and will be converted to false otherwise; if the result
891is not a number, then the result will be converted as if by a call
892to the boolean function.</p><p>
893
894</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>  the XPath Parser context
895</td></tr><tr><td><span class="term"><i><tt>res</tt></i>�:</span></td><td>  the Predicate Expression evaluation result
896</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if predicate is true, 0 otherwise
897</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3><pre class="programlisting">void        xmlXPathRegisterAllFunctions    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
898Registers all default XPath functions in this context</p><p>
899
900</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>  the XPath context
901</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeSetMerge          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1,
902                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);</pre><p>
903Merges two nodesets, all nodes from <i><tt>val2</tt></i> are added to <i><tt>val1</tt></i>
904if <i><tt>val1</tt></i> is NULL, a new set is created and copied from <i><tt>val2</tt></i></p><p>
905
906</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val1</tt></i>�:</span></td><td>  the first NodeSet or NULL
907</td></tr><tr><td><span class="term"><i><tt>val2</tt></i>�:</span></td><td>  the second NodeSet
908</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td><i><tt>val1</tt></i> once extended or NULL in case of error.
909</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3><pre class="programlisting">void        xmlXPathNodeSetDel              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
910                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
911Removes an xmlNodePtr from an existing NodeSet</p><p>
912
913</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the initial node set
914</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  an xmlNodePtr
915</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3><pre class="programlisting">void        xmlXPathNodeSetRemove           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
916                                             int val);</pre><p>
917Removes an entry from an existing NodeSet list.</p><p>
918
919</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the initial node set
920</td></tr><tr><td><span class="term"><i><tt>val</tt></i>�:</span></td><td>  the index to remove
921</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewNodeSetList    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);</pre><p>
922Create a new xmlXPathObjectPtr of type NodeSet and initialize
923it with the Nodeset <i><tt>val</tt></i></p><p>
924
925</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>  an existing NodeSet
926</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
927</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapNodeSet       (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);</pre><p>
928Wrap the Nodeset <i><tt>val</tt></i> in a new xmlXPathObjectPtr</p><p>
929
930</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>  the NodePtr value
931</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
932</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapExternal      (void *val);</pre><p>
933Wraps the <i><tt>val</tt></i> data into an XPath object.</p><p>
934
935</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>  the user data
936</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object.
937</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3><pre class="programlisting">int         xmlXPathEqualValues             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
938Implement the equal operation on XPath objects content: <i><tt>arg1</tt></i> == <i><tt>arg2</tt></i></p><p>
939
940</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>  the XPath Parser context
941</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or 1 depending on the results of the test.
942</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3><pre class="programlisting">int         xmlXPathNotEqualValues          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
943Implement the equal operation on XPath objects content: <i><tt>arg1</tt></i> == <i><tt>arg2</tt></i></p><p>
944
945</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>  the XPath Parser context
946</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 or 1 depending on the results of the test.
947</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3><pre class="programlisting">int         xmlXPathCompareValues           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
948                                             int inf,
949                                             int strict);</pre><p>
950Implement the compare operation on XPath objects: 
951    <i><tt>arg1</tt></i> &lt; <i><tt>arg2</tt></i>    (1, 1, ...
952    <i><tt>arg1</tt></i> &lt;= <i><tt>arg2</tt></i>   (1, 0, ...
953    <i><tt>arg1</tt></i> &gt; <i><tt>arg2</tt></i>    (0, 1, ...
954    <i><tt>arg1</tt></i> &gt;= <i><tt>arg2</tt></i>   (0, 0, ...
955</p><p>
956When neither object to be compared is a node-set and the operator is
957&lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects
958to numbers and comparing the numbers according to IEEE 754. The &lt;
959comparison will be true if and only if the first number is less than the
960second number. The &lt;= comparison will be true if and only if the first
961number is less than or equal to the second number. The &gt; comparison
962will be true if and only if the first number is greater than the second
963number. The &gt;= comparison will be true if and only if the first number
964is greater than or equal to the second number.</p><p>
965
966</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>  the XPath Parser context
967</td></tr><tr><td><span class="term"><i><tt>inf</tt></i>�:</span></td><td>  less than (1) or greater than (0)
968</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>�:</span></td><td>  is the comparison strict
969</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if the comparison succeeded, 0 if it failed
970</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3><pre class="programlisting">void        xmlXPathValueFlipSign           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
971Implement the unary - operation on an XPath object
972The numeric operators convert their operands to numbers as if
973by calling the number function.</p><p>
974
975</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>  the XPath Parser context
976</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3><pre class="programlisting">void        xmlXPathAddValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
977Implement the add operation on XPath objects:
978The numeric operators convert their operands to numbers as if
979by calling the number function.</p><p>
980
981</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>  the XPath Parser context
982</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3><pre class="programlisting">void        xmlXPathSubValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
983Implement the subtraction operation on XPath objects:
984The numeric operators convert their operands to numbers as if
985by calling the number function.</p><p>
986
987</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>  the XPath Parser context
988</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3><pre class="programlisting">void        xmlXPathMultValues              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
989Implement the multiply operation on XPath objects:
990The numeric operators convert their operands to numbers as if
991by calling the number function.</p><p>
992
993</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>  the XPath Parser context
994</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3><pre class="programlisting">void        xmlXPathDivValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
995Implement the div operation on XPath objects <i><tt>arg1</tt></i> / <i><tt>arg2</tt></i>:
996The numeric operators convert their operands to numbers as if
997by calling the number function.</p><p>
998
999</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>  the XPath Parser context
1000</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3><pre class="programlisting">void        xmlXPathModValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
1001Implement the mod operation on XPath objects: <i><tt>arg1</tt></i> / <i><tt>arg2</tt></i>
1002The numeric operators convert their operands to numbers as if
1003by calling the number function.</p><p>
1004
1005</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>  the XPath Parser context
1006</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3><pre class="programlisting">int         xmlXPathIsNodeType              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
1007Is the name given a NodeType one.
1008</p><p>
1009 [38]   NodeType ::=   'comment'
1010                   | 'text'
1011                   | 'processing-instruction'
1012                   | 'node'</p><p>
1013
1014</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>name</tt></i>�:</span></td><td>  a name string
1015</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
1016</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextSelf                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1017                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1018Traversal function for the &quot;self&quot; direction
1019The self axis contains just the context node itself</p><p>
1020
1021</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>  the XPath Parser context
1022</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1023</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1024</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextChild               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1025                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1026Traversal function for the &quot;child&quot; direction
1027The child axis contains the children of the context node in document order.</p><p>
1028
1029</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>  the XPath Parser context
1030</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1031</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1032</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextDescendant          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1033                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1034Traversal function for the &quot;descendant&quot; direction
1035the descendant axis contains the descendants of the context node in document
1036order; a descendant is a child or a child of a child and so on.</p><p>
1037
1038</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>  the XPath Parser context
1039</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1040</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1041</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextDescendantOrSelf    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1042                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1043Traversal function for the &quot;descendant-or-self&quot; direction
1044the descendant-or-self axis contains the context node and the descendants
1045of the context node in document order; thus the context node is the first
1046node on the axis, and the first child of the context node is the second node
1047on the axis</p><p>
1048
1049</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>  the XPath Parser context
1050</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1051</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1052</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextParent              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1053                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1054Traversal function for the &quot;parent&quot; direction
1055The parent axis contains the parent of the context node, if there is one.</p><p>
1056
1057</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>  the XPath Parser context
1058</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1059</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1060</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAncestorOrSelf      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1061                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1062Traversal function for the &quot;ancestor-or-self&quot; direction
1063he ancestor-or-self axis contains the context node and ancestors of
1064the context node in reverse document order; thus the context node is
1065the first node on the axis, and the context node's parent the second;
1066parent here is defined the same as with the parent axis.</p><p>
1067
1068</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>  the XPath Parser context
1069</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1070</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1071</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextFollowingSibling    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1072                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1073Traversal function for the &quot;following-sibling&quot; direction
1074The following-sibling axis contains the following siblings of the context
1075node in document order.</p><p>
1076
1077</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>  the XPath Parser context
1078</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1079</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1080</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextFollowing           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1081                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1082Traversal function for the &quot;following&quot; direction
1083The following axis contains all nodes in the same document as the context
1084node that are after the context node in document order, excluding any
1085descendants and excluding attribute nodes and namespace nodes; the nodes
1086are ordered in document order</p><p>
1087
1088</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>  the XPath Parser context
1089</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1090</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1091</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextNamespace           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1092                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1093Traversal function for the &quot;namespace&quot; direction
1094the namespace axis contains the namespace nodes of the context node;
1095the order of nodes on this axis is implementation-defined; the axis will
1096be empty unless the context node is an element
1097</p><p>
1098We keep the XML namespace node at the end of the list.</p><p>
1099
1100</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>  the XPath Parser context
1101</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current attribute in the traversal
1102</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1103</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAttribute           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1104                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1105Traversal function for the &quot;attribute&quot; direction
1106TODO: support DTD inherited default attributes</p><p>
1107
1108</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>  the XPath Parser context
1109</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current attribute in the traversal
1110</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1111</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextPreceding           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1112                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1113Traversal function for the &quot;preceding&quot; direction
1114the preceding axis contains all nodes in the same document as the context
1115node that are before the context node in document order, excluding any
1116ancestors and excluding attribute nodes and namespace nodes; the nodes are
1117ordered in reverse document order</p><p>
1118
1119</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>  the XPath Parser context
1120</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1121</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1122</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAncestor            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1123                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1124Traversal function for the &quot;ancestor&quot; direction
1125the ancestor axis contains the ancestors of the context node; the ancestors
1126of the context node consist of the parent of context node and the parent's
1127parent and so on; the nodes are ordered in reverse document order; thus the
1128parent is the first node on the axis, and the parent's parent is the second
1129node on the axis</p><p>
1130
1131</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>  the XPath Parser context
1132</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1133</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1134</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextPrecedingSibling    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1135                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
1136Traversal function for the &quot;preceding-sibling&quot; direction
1137The preceding-sibling axis contains the preceding siblings of the context
1138node in reverse document order; the first preceding sibling is first on the
1139axis; the sibling preceding that node is the second on the axis and so on.</p><p>
1140
1141</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>  the XPath Parser context
1142</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>�:</span></td><td>  the current node in the traversal
1143</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the next element following that axis
1144</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3><pre class="programlisting">void        xmlXPathLastFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1145                                             int nargs);</pre><p>
1146Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="last">last</GTKDOCLINK>() XPath function
1147   number <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="last">last</GTKDOCLINK>()
1148The last function returns the number of nodes in the context node list.</p><p>
1149
1150</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>  the XPath Parser context
1151</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1152</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3><pre class="programlisting">void        xmlXPathPositionFunction        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1153                                             int nargs);</pre><p>
1154Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="position">position</GTKDOCLINK>() XPath function
1155   number <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="position">position</GTKDOCLINK>()
1156The position function returns the position of the context node in the
1157context node list. The first position is 1, and so the last position
1158will be equal to <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="last">last</GTKDOCLINK>().</p><p>
1159
1160</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>  the XPath Parser context
1161</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1162</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3><pre class="programlisting">void        xmlXPathCountFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1163                                             int nargs);</pre><p>
1164Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="count">count</GTKDOCLINK>() XPath function
1165   number count(node-set)</p><p>
1166
1167</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>  the XPath Parser context
1168</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1169</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3><pre class="programlisting">void        xmlXPathIdFunction              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1170                                             int nargs);</pre><p>
1171Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="id">id</GTKDOCLINK>() XPath function
1172   node-set id(object)
1173The id function selects elements by their unique ID
1174(see [5.2.1 Unique IDs]). When the argument to id is of type node-set,
1175then the result is the union of the result of applying id to the
1176string value of each of the nodes in the argument node-set. When the
1177argument to id is of any other type, the argument is converted to a
1178string as if by a call to the string function; the string is split
1179into a whitespace-separated list of tokens (whitespace is any sequence
1180of characters matching the production S); the result is a node-set
1181containing the elements in the same document as the context node that
1182have a unique ID equal to any of the tokens in the list.</p><p>
1183
1184</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>  the XPath Parser context
1185</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1186</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3><pre class="programlisting">void        xmlXPathLocalNameFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1187                                             int nargs);</pre><p>
1188Implement the local-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="name">name</GTKDOCLINK>() XPath function
1189   string local-name(node-set?)
1190The local-name function returns a string containing the local part
1191of the name of the node in the argument node-set that is first in
1192document order. If the node-set is empty or the first node has no
1193name, an empty string is returned. If the argument is omitted it
1194defaults to the context node.</p><p>
1195
1196</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>  the XPath Parser context
1197</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1198</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3><pre class="programlisting">void        xmlXPathNamespaceURIFunction    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1199                                             int nargs);</pre><p>
1200Implement the namespace-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="uri">uri</GTKDOCLINK>() XPath function
1201   string namespace-uri(node-set?)
1202The namespace-uri function returns a string containing the
1203namespace URI of the expanded name of the node in the argument
1204node-set that is first in document order. If the node-set is empty,
1205the first node has no name, or the expanded name has no namespace
1206URI, an empty string is returned. If the argument is omitted it
1207defaults to the context node.</p><p>
1208
1209</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>  the XPath Parser context
1210</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1211</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3><pre class="programlisting">void        xmlXPathStringFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1212                                             int nargs);</pre><p>
1213Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="string">string</GTKDOCLINK>() XPath function
1214   string string(object?)
1215he string function converts an object to a string as follows:
1216   - A node-set is converted to a string by returning the value of
1217     the node in the node-set that is first in document order.
1218     If the node-set is empty, an empty string is returned.
1219   - A number is converted to a string as follows
1220     + NaN is converted to the string NaN 
1221     + positive zero is converted to the string 0 
1222     + negative zero is converted to the string 0 
1223     + positive infinity is converted to the string Infinity 
1224     + negative infinity is converted to the string -Infinity 
1225     + if the number is an integer, the number is represented in
1226       decimal form as a Number with no decimal point and no leading
1227       zeros, preceded by a minus sign (-) if the number is negative
1228     + otherwise, the number is represented in decimal form as a
1229       Number including a decimal point with at least one digit
1230       before the decimal point and at least one digit after the
1231       decimal point, preceded by a minus sign (-) if the number
1232       is negative; there must be no leading zeros before the decimal
1233       point apart possibly from the one required digit immediately
1234       before the decimal point; beyond the one required digit
1235       after the decimal point there must be as many, but only as
1236       many, more digits as are needed to uniquely distinguish the
1237       number from all other IEEE 754 numeric values.
1238   - The boolean false value is converted to the string false.
1239     The boolean true value is converted to the string true.
1240</p><p>
1241If the argument is omitted, it defaults to a node-set with the
1242context node as its only member.</p><p>
1243
1244</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>  the XPath Parser context
1245</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1246</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3><pre class="programlisting">void        xmlXPathStringLengthFunction    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1247                                             int nargs);</pre><p>
1248Implement the string-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="length">length</GTKDOCLINK>() XPath function
1249   number string-length(string?)
1250The string-length returns the number of characters in the string
1251(see [3.6 Strings]). If the argument is omitted, it defaults to
1252the context node converted to a string, in other words the value
1253of the context node.</p><p>
1254
1255</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>  the XPath Parser context
1256</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1257</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3><pre class="programlisting">void        xmlXPathConcatFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1258                                             int nargs);</pre><p>
1259Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="concat">concat</GTKDOCLINK>() XPath function
1260   string concat(string, string, string*)
1261The concat function returns the concatenation of its arguments.</p><p>
1262
1263</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>  the XPath Parser context
1264</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1265</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3><pre class="programlisting">void        xmlXPathContainsFunction        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1266                                             int nargs);</pre><p>
1267Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="contains">contains</GTKDOCLINK>() XPath function
1268   boolean contains(string, string)
1269The contains function returns true if the first argument string
1270contains the second argument string, and otherwise returns false.</p><p>
1271
1272</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>  the XPath Parser context
1273</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1274</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3><pre class="programlisting">void        xmlXPathStartsWithFunction      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1275                                             int nargs);</pre><p>
1276Implement the starts-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="with">with</GTKDOCLINK>() XPath function
1277   boolean starts-with(string, string)
1278The starts-with function returns true if the first argument string
1279starts with the second argument string, and otherwise returns false.</p><p>
1280
1281</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>  the XPath Parser context
1282</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1283</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1284                                             int nargs);</pre><p>
1285Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="substring">substring</GTKDOCLINK>() XPath function
1286   string substring(string, number, number?)
1287The substring function returns the substring of the first argument
1288starting at the position specified in the second argument with
1289length specified in the third argument. For example,
1290substring(&quot;12345&quot;,2,3) returns &quot;234&quot;. If the third argument is not
1291specified, it returns the substring starting at the position specified
1292in the second argument and continuing to the end of the string. For
1293example, substring(&quot;12345&quot;,2) returns &quot;2345&quot;.  More precisely, each
1294character in the string (see [3.6 Strings]) is considered to have a
1295numeric position: the position of the first character is 1, the position
1296of the second character is 2 and so on. The returned substring contains
1297those characters for which the position of the character is greater than
1298or equal to the second argument and, if the third argument is specified,
1299less than the sum of the second and third arguments; the comparisons
1300and addition used for the above follow the standard IEEE 754 rules. Thus:
1301 - substring(&quot;12345&quot;, 1.5, 2.6) returns &quot;234&quot; 
1302 - substring(&quot;12345&quot;, 0, 3) returns &quot;12&quot; 
1303 - substring(&quot;12345&quot;, 0 div 0, 3) returns &quot;&quot; 
1304 - substring(&quot;12345&quot;, 1, 0 div 0) returns &quot;&quot; 
1305 - substring(&quot;12345&quot;, -42, 1 div 0) returns &quot;12345&quot; 
1306 - substring(&quot;12345&quot;, -1 div 0, 1 div 0) returns &quot;&quot;</p><p>
1307
1308</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>  the XPath Parser context
1309</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1310</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringBeforeFunction (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1311                                             int nargs);</pre><p>
1312Implement the substring-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="before">before</GTKDOCLINK>() XPath function
1313   string substring-before(string, string)
1314The substring-before function returns the substring of the first
1315argument string that precedes the first occurrence of the second
1316argument string in the first argument string, or the empty string
1317if the first argument string does not contain the second argument
1318string. For example, substring-before(&quot;1999/04/01&quot;,&quot;/&quot;) returns 1999.</p><p>
1319
1320</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>  the XPath Parser context
1321</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1322</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringAfterFunction  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1323                                             int nargs);</pre><p>
1324Implement the substring-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="after">after</GTKDOCLINK>() XPath function
1325   string substring-after(string, string)
1326The substring-after function returns the substring of the first
1327argument string that follows the first occurrence of the second
1328argument string in the first argument string, or the empty stringi
1329if the first argument string does not contain the second argument
1330string. For example, substring-after(&quot;1999/04/01&quot;,&quot;/&quot;) returns 04/01,
1331and substring-after(&quot;1999/04/01&quot;,&quot;19&quot;) returns 99/04/01.</p><p>
1332
1333</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>  the XPath Parser context
1334</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1335</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3><pre class="programlisting">void        xmlXPathNormalizeFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1336                                             int nargs);</pre><p>
1337Implement the normalize-<GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="space">space</GTKDOCLINK>() XPath function
1338   string normalize-space(string?)
1339The normalize-space function returns the argument string with white
1340space normalized by stripping leading and trailing whitespace
1341and replacing sequences of whitespace characters by a single
1342space. Whitespace characters are the same allowed by the S production
1343in XML. If the argument is omitted, it defaults to the context
1344node converted to a string, in other words the value of the context node.</p><p>
1345
1346</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>  the XPath Parser context
1347</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1348</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3><pre class="programlisting">void        xmlXPathTranslateFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1349                                             int nargs);</pre><p>
1350Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="translate">translate</GTKDOCLINK>() XPath function
1351   string translate(string, string, string)
1352The translate function returns the first argument string with
1353occurrences of characters in the second argument string replaced
1354by the character at the corresponding position in the third argument
1355string. For example, translate(&quot;bar&quot;,&quot;abc&quot;,&quot;ABC&quot;) returns the string
1356BAr. If there is a character in the second argument string with no
1357character at a corresponding position in the third argument string
1358(because the second argument string is longer than the third argument
1359string), then occurrences of that character in the first argument
1360string are removed. For example, translate(&quot;--aaa--&quot;,&quot;abc-&quot;,&quot;ABC&quot;)</p><p>
1361
1362</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>  the XPath Parser context
1363</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1364</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3><pre class="programlisting">void        xmlXPathNotFunction             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1365                                             int nargs);</pre><p>
1366Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="not">not</GTKDOCLINK>() XPath function
1367   boolean not(boolean)
1368The not function returns true if its argument is false,
1369and false otherwise.</p><p>
1370
1371</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>  the XPath Parser context
1372</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1373</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3><pre class="programlisting">void        xmlXPathTrueFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1374                                             int nargs);</pre><p>
1375Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="true">true</GTKDOCLINK>() XPath function
1376   boolean <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="true">true</GTKDOCLINK>()</p><p>
1377
1378</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>  the XPath Parser context
1379</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1380</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3><pre class="programlisting">void        xmlXPathFalseFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1381                                             int nargs);</pre><p>
1382Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="false">false</GTKDOCLINK>() XPath function
1383   boolean <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="false">false</GTKDOCLINK>()</p><p>
1384
1385</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>  the XPath Parser context
1386</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1387</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3><pre class="programlisting">void        xmlXPathLangFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1388                                             int nargs);</pre><p>
1389Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="lang">lang</GTKDOCLINK>() XPath function
1390   boolean lang(string)
1391The lang function returns true or false depending on whether the
1392language of the context node as specified by xml:lang attributes
1393is the same as or is a sublanguage of the language specified by
1394the argument string. The language of the context node is determined
1395by the value of the xml:lang attribute on the context node, or, if
1396the context node has no xml:lang attribute, by the value of the
1397xml:lang attribute on the nearest ancestor of the context node that
1398has an xml:lang attribute. If there is no such attribute, then lang</p><p>
1399
1400</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>  the XPath Parser context
1401</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1402</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3><pre class="programlisting">void        xmlXPathNumberFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1403                                             int nargs);</pre><p>
1404Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="number">number</GTKDOCLINK>() XPath function
1405   number number(object?)</p><p>
1406
1407</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>  the XPath Parser context
1408</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1409</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3><pre class="programlisting">void        xmlXPathSumFunction             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1410                                             int nargs);</pre><p>
1411Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="sum">sum</GTKDOCLINK>() XPath function
1412   number sum(node-set)
1413The sum function returns the sum of the values of the nodes in
1414the argument node-set.</p><p>
1415
1416</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>  the XPath Parser context
1417</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1418</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3><pre class="programlisting">void        xmlXPathFloorFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1419                                             int nargs);</pre><p>
1420Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="floor">floor</GTKDOCLINK>() XPath function
1421   number floor(number)
1422The floor function returns the largest (closest to positive infinity)
1423number that is not greater than the argument and that is an integer.</p><p>
1424
1425</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>  the XPath Parser context
1426</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1427</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3><pre class="programlisting">void        xmlXPathCeilingFunction         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1428                                             int nargs);</pre><p>
1429Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="ceiling">ceiling</GTKDOCLINK>() XPath function
1430   number ceiling(number)
1431The ceiling function returns the smallest (closest to negative infinity)
1432number that is not less than the argument and that is an integer.</p><p>
1433
1434</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>  the XPath Parser context
1435</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1436</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3><pre class="programlisting">void        xmlXPathRoundFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1437                                             int nargs);</pre><p>
1438Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="round">round</GTKDOCLINK>() XPath function
1439   number round(number)
1440The round function returns the number that is closest to the
1441argument and that is an integer. If there are two such numbers,
1442then the one that is even is returned.</p><p>
1443
1444</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>  the XPath Parser context
1445</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1446</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3><pre class="programlisting">void        xmlXPathBooleanFunction         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
1447                                             int nargs);</pre><p>
1448Implement the <GTKDOCLINK xmlns="http://www.w3.org/TR/xhtml1/transitional" HREF="boolean">boolean</GTKDOCLINK>() XPath function
1449   boolean boolean(object)
1450he boolean function converts its argument to a boolean as follows:
1451   - a number is true if and only if it is neither positive or
1452     negative zero nor NaN
1453   - a node-set is true if and only if it is non-empty
1454   - a string is true if and only if its length is non-zero</p><p>
1455
1456</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>  the XPath Parser context
1457</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>�:</span></td><td>  the number of arguments
1458</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3><pre class="programlisting">void        xmlXPathNodeSetFreeNs           (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
1459Namespace node in libxml don't match the XPath semantic. In a node set
1460the namespace nodes are duplicated and the next pointer is set to the
1461parent node in the XPath semantic. Check if such a node need to be freed</p><p>
1462
1463</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>  the XPath namespace node found in a nodeset.
1464</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-xpath.html"><b>&lt;&lt;�xpath</b></a></td><td align="right"><a accesskey="n" href="libxml-xpointer.html"><b>xpointer�&gt;&gt;</b></a></td></tr></table></body></html>
1465