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