blob: a7e11fb3846fb886b672993c5e9f83a9c2c4f3bd [file] [log] [blame]
Daniel Veillardd4330462003-04-29 12:40:16 +00001<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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000287</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000289</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000292</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000293</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000296</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000299Get the error code of an XPath context.</p><p>
300
Daniel Veillardd7cec922003-06-13 12:30:10 +0000301</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000304Check if an XPath error was raised.</p><p>
305
Daniel Veillardd7cec922003-06-13 12:30:10 +0000306</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000309Get the document of an XPath context.</p><p>
310
Daniel Veillardd7cec922003-06-13 12:30:10 +0000311</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i> :</span></td><td> 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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000314Get the context node of an XPath context.</p><p>
315
Daniel Veillardd7cec922003-06-13 12:30:10 +0000316</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000317</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000321</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000323</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000327</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000329</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000333</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000335</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000339</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000341</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000345</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000346</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000349</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000353Pushes true on the context stack.</p><p>
354
Daniel Veillardd7cec922003-06-13 12:30:10 +0000355</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000358Pushes false on the context stack.</p><p>
359
Daniel Veillardd7cec922003-06-13 12:30:10 +0000360</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000361</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000364</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000366</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000369</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000371</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000374</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000375</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000378</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000380</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000383</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000384</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000387</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000389</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000393</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000394</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000398</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000399</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000402</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000403</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000412</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000413</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000416</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000417</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000421</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000422</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000426</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000427</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000430</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000431</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000447</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000451</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000456</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000459</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000465</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000469</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000474</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000477</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000483</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000487</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000492</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000495</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000500</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000503</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000507</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000510</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000515</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000519</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000524</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000528</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000532</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000535</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000541</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000544</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000549</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000553</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000558</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000563</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000568</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000573</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000580</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000585</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000592</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000597</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000602</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000607</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000612</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000617</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000624</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000629</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000636</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>
Daniel Veillardd4330462003-04-29 12:40:16 +0000641</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000647</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000651</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000656</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000659</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000662</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000663</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000668</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000672</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000678</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000683</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000689</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000693</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000700</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000705</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000710</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000713</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000719</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000723</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000726</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000727</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000732</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000735</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000741</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000745</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000749</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000750</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000755</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000758</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000761</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000762</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000765</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000767</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000771</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000774</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000777</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000779</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000782</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000784</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000787</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000789</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000792</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000794</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000797</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000799</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000802</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000804</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000808</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000810</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000814</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000816</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000820</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000822</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000827</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000829</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000834</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000837</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000840</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000841</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000844</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000845</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000849</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000850</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000858</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000860</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000868</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000870</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000881</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000883</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000894</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000897</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000900</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000901</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000906</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000909</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000913</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000915</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000919</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000921</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000925</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000927</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000930</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000932</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000935</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000937</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000940</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000942</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000945</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.
Daniel Veillardd4330462003-04-29 12:40:16 +0000947</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000966</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000970</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000975</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000976</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000981</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000982</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000987</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000988</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000993</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
Daniel Veillardd4330462003-04-29 12:40:16 +0000994</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
Daniel Veillardd7cec922003-06-13 12:30:10 +0000999</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001000</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001005</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001006</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001014</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001016</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001021</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001024</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001029</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001032</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001038</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001041</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001049</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001052</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001057</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001060</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001068</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001071</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001077</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001080</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001088</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001091</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001100</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001103</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001108</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001111</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001119</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001122</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001131</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001134</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001141</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001144</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001150</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001152</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001160</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001162</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001167</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001169</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001184</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001186</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001196</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001198</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001209</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001211</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001244</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001246</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001255</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001257</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001263</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001265</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001272</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001274</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001281</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001283</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001308</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001310</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001320</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001322</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001333</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001335</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001346</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001348</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001362</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001364</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001371</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001373</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001378</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001380</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001385</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001387</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001400</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001402</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001407</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001409</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001416</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001418</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001425</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001427</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001434</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001436</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001444</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001446</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001456</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
Daniel Veillardd4330462003-04-29 12:40:16 +00001458</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
Daniel Veillardd7cec922003-06-13 12:30:10 +00001463</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.
Daniel Veillardd4330462003-04-29 12:40:16 +00001464</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>