UNPKG

libxmljs

Version:

libxml bindings for v8 javascript engine

350 lines 145 kB
<?xml version="1.0" encoding="UTF-8"?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>xpathInternals: internal interfaces for XML Path Language implementation</title> <meta name="generator" content="Libxml2 devhelp stylesheet"/> <link rel="start" href="index.html" title="libxml2 Reference Manual"/> <link rel="up" href="general.html" title="API"/> <link rel="stylesheet" href="style.css" type="text/css"/> <link rel="chapter" href="general.html" title="API"/> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> <tr valign="middle"> <td> <a accesskey="p" href="libxml2-xpath.html"> <img src="left.png" width="24" height="24" border="0" alt="Prev"/> </a> </td> <td> <a accesskey="u" href="general.html"> <img src="up.png" width="24" height="24" border="0" alt="Up"/> </a> </td> <td> <a accesskey="h" href="index.html"> <img src="home.png" width="24" height="24" border="0" alt="Home"/> </a> </td> <td> <a accesskey="n" href="libxml2-xpointer.html"> <img src="right.png" width="24" height="24" border="0" alt="Next"/> </a> </td> <th width="100%" align="center">libxml2 Reference Manual</th> </tr> </table> <h2> <span class="refentrytitle">xpathInternals</span> </h2> <p>xpathInternals - internal interfaces for XML Path Language implementation</p> <p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like XPointer and XSLT </p> <p>Author(s): Daniel Veillard </p> <div class="refsynopsisdiv"> <h2>Synopsis</h2> <pre class="synopsis">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt); #define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt); #define <a href="#XP_ERROR0">XP_ERROR0</a>(X); #define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt); #define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt); #define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt); #define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val); #define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt); #define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>; #define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x); #define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval); #define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>; #define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val); #define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt); #define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt); #define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err); #define <a href="#CHECK_ERROR">CHECK_ERROR</a>; #define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str); #define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>; #define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt); #define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval); #define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt); #define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val); #define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>; #define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt); #define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt); #define <a href="#XP_ERROR">XP_ERROR</a>(X); #define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns); #define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2); void <a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathNsLookup">xmlXPathNsLookup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> int val); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val); int <a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewString">xmlXPathNewString</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextChild">xmlXPathNextChild</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathPopString">xmlXPathPopString</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); int <a href="#xmlXPathCompareValues">xmlXPathCompareValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int inf, <br/> int strict); void <a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); int <a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); void <a href="#xmlXPatherror">xmlXPatherror</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> const char * file, <br/> int line, <br/> int no); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathRoot">xmlXPathRoot</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt); int <a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathAddValues">xmlXPathAddValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); int <a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#valuePop">valuePop</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathIntersection">xmlXPathIntersection</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); void <a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set); void <a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); void <a href="#xmlXPathSumFunction">xmlXPathSumFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); int <a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); int <a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res); void <a href="#xmlXPathErr">xmlXPathErr</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int error); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri); void <a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt); void <a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); void <a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewFloat">xmlXPathNewFloat</a> (double val); int <a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextParent">xmlXPathNextParent</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a> (<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns); int <a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes); int <a href="#valuePush">valuePush</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value); void <a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathStringFunction">xmlXPathStringFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathIdFunction">xmlXPathIdFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathLastFunction">xmlXPathLastFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextSelf">xmlXPathNextSelf</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a> (FILE * output, <br/> <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/> int depth); void <a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br/> void * funcCtxt); double <a href="#xmlXPathPopNumber">xmlXPathPopNumber</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathCountFunction">xmlXPathCountFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathParseNCName">xmlXPathParseNCName</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a> (int val); void <a href="#xmlXPathSubValues">xmlXPathSubValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); int <a href="#xmlXPathEqualValues">xmlXPathEqualValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); void <a href="#xmlXPathMultValues">xmlXPathMultValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathModValues">xmlXPathModValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> <a href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/> <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathWrapString">xmlXPathWrapString</a> (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val); void <a href="#xmlXPathLangFunction">xmlXPathLangFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); int <a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/> <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f); int <a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns); void <a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathDifference">xmlXPathDifference</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void * <a href="#xmlXPathPopExternal">xmlXPathPopExternal</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); void <a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br/> void * data); void <a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewCString">xmlXPathNewCString</a> (const char * val); int <a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f); void <a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathWrapCString">xmlXPathWrapCString</a> (char * val); void <a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node); int <a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); int <a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathDistinct">xmlXPathDistinct</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); void <a href="#xmlXPathNotFunction">xmlXPathNotFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs); double <a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a> (void * val); <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur); void <a href="#xmlXPathDivValues">xmlXPathDivValues</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri); int <a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a> (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathTrailing">xmlXPathTrailing</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); void <a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); void <a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a> (FILE * output, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br/> int depth); <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="#xmlXPathLeading">xmlXPathLeading</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/> <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2); <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathParseName">xmlXPathParseName</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); </pre> </div> <div class="refsect1" lang="en"> <h2>Description</h2> </div> <div class="refsect1" lang="en"> <h2>Details</h2> <div class="refsect2" lang="en"> <div class="refsect2" lang="en"><h3><a name="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3><pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>; </pre><p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3><pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>; </pre><p>Macro to try to cast the value on the top of the XPath stack to a number.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3><pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>; </pre><p>Macro to try to cast the value on the top of the XPath stack to a string.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3><pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x); </pre><p>Macro to check that the number of args passed to an XPath function matches.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>the number of expected args</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3><pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>; </pre><p>Macro to return from the function if an XPath error was detected.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3><pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>; </pre><p>Macro to return 0 from the function if an XPath error was detected.</p> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3><pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval); </pre><p>Macro to check that the value on top of the XPath stack is of a given type.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3><pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval); </pre><p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XP_ERROR">Macro </a>XP_ERROR</h3><pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X); </pre><p>Macro to raise an XPath error and return.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="XP_ERROR0">Macro </a>XP_ERROR0</h3><pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X); </pre><p>Macro to raise an XPath error and return 0.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3><pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt); </pre><p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns); </pre><p>Empties a node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3><pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt); </pre><p>Get the context node of an XPath context. Returns the context node.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3><pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt); </pre><p>Get the document of an XPath context. Returns the context document.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3><pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt); </pre><p>Get the error code of an XPath context. Returns the context error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3><pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val); </pre><p>Pushes the boolean @val on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt); </pre><p>Pushes an empty node-set on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3><pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt); </pre><p>Pushes an empty string on the stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3><pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val); </pre><p>Pushes user data on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>user data</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3><pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt); </pre><p>Pushes false on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns); </pre><p>Pushes the node-set @ns on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3><pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val); </pre><p>Pushes the double @val on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3><pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str); </pre><p>Pushes the string @str on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a string</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3><pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt); </pre><p>Pushes true on the context stack.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3><pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt); </pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3><pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err); </pre><p>Raises an error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3><pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt); </pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3><pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt); </pre><p>Checks if the current value on the XPath stack is an external object. Returns true if the current object on the stack is an external object.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3><pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt); </pre><p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the current object on the stack is a node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr></tbody></table></div> </div> <hr/> <div class="refsect2" lang="en"><h3><a name="valuePop"/>valuePop ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> valuePop (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/> </pre><p>Pops the top XPath object from the value stack</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just removed</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="valuePush"/>valuePush ()</h3><pre class="programlisting">int valuePush (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/> </pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in the parser context.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of error.</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"/>xmlXPathAddValues ()</h3><pre class="programlisting">void xmlXPathAddValues (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/> </pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as if by calling the number function.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathBooleanFunction"/>xmlXPathBooleanFunction ()</h3><pre class="programlisting">void xmlXPathBooleanFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs)<br/> </pre><p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathCeilingFunction"/>xmlXPathCeilingFunction ()</h3><pre class="programlisting">void xmlXPathCeilingFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs)<br/> </pre><p>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest (closest to negative infinity) number that is not less than the argument and that is an integer.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathCompareValues"/>xmlXPathCompareValues ()</h3><pre class="programlisting">int xmlXPathCompareValues (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int inf, <br/> int strict)<br/> </pre><p>Implement the compare operation on XPath objects: @arg1 &lt; @arg2 (1, 1, ... @arg1 &lt;= @arg2 (1, 0, ... @arg1 &gt; @arg2 (0, 1, ... @arg1 &gt;= @arg2 (0, 0, ... When neither object to be compared is a node-set and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects to numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and only if the first number is less than the second number. The &lt;= comparison will be true if and only if the first number is less than or equal to the second number. The &gt; comparison will be true if and only if the first number is greater than the second number. The &gt;= comparison will be true if and only if the first number is greater than or equal to the second number.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>inf</tt></i>:</span></td><td>less than (1) or greater than (0)</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>is the comparison strict</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the comparison succeeded, 0 if it failed</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathConcatFunction"/>xmlXPathConcatFunction ()</h3><pre class="programlisting">void xmlXPathConcatFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs)<br/> </pre><p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns the concatenation of its arguments.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathContainsFunction"/>xmlXPathContainsFunction ()</h3><pre class="programlisting">void xmlXPathContainsFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs)<br/> </pre><p>Implement the contains() XPath function boolean contains(string, string) The contains function returns true if the first argument string contains the second argument string, and otherwise returns false.</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div> <hr/> <div class="refsect2" lang="en"><h3><a name="xmlXPathCountFunction"/>xmlXPathCountFunction ()</h3><pre class="programlisting">void xmlXPathCountFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/> int nargs)<br/> </pre><p>Implement the count() XPath function number count(node-set)</p> <div class="variablelist"><table border="0"><col align="left"/><tbody><tr>