1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>xpointer: API to handle XML Pointers</title> 5<meta name="generator" content="Libxml2 devhelp stylesheet"> 6<link rel="start" href="index.html" title="libxml2 Reference Manual"> 7<link rel="up" href="general.html" title="API"> 8<link rel="stylesheet" href="style.css" type="text/css"> 9<link rel="chapter" href="general.html" title="API"> 10</head> 11<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 12<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> 13<td><a accesskey="p" href="libxml2-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> 14<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> 15<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> 16<th width="100%" align="center">libxml2 Reference Manual</th> 17</tr></table> 18<h2><span class="refentrytitle">xpointer</span></h2> 19<p>xpointer - API to handle XML Pointers</p> 20<p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 June 2000</p> 21<p>Author(s): Daniel Veillard </p> 22<div class="refsynopsisdiv"> 23<h2>Synopsis</h2> 24<pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>; 25typedef <a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a href="#xmlLocationSetPtr">xmlLocationSetPtr</a>; 26<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a> (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj); 27<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrEval">xmlXPtrEval</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx); 28void <a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt); 29void <a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj); 30void <a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val); 31<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> <a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a> (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val); 32void <a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val); 33<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> <a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br> <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2); 34void <a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> int val); 35<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start); 36<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> <a href="#xmlXPtrNewContext">xmlXPtrNewContext</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin); 37<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a> (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set); 38<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end); 39<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRange">xmlXPtrNewRange</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> int startindex, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br> int endindex); 40<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end); 41<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end); 42<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end); 43<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a> (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end); 44<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a> (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end); 45void <a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a> (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br> int nargs); 46<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a> (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val); 47</pre> 48</div> 49<div class="refsect1" lang="en"><h2>Description</h2></div> 50<div class="refsect1" lang="en"> 51<h2>Details</h2> 52<div class="refsect2" lang="en"> 53<div class="refsect2" lang="en"> 54<h3> 55<a name="xmlLocationSet">Structure </a>xmlLocationSet</h3> 56<pre class="programlisting">struct _xmlLocationSet { 57 int locNr : number of locations in the set 58 int locMax : size of the array as allocated 59 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> * locTab : array of locations 60} xmlLocationSet; 61</pre> 62<p></p> 63</div> 64<hr> 65<div class="refsect2" lang="en"> 66<h3> 67<a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3> 68<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr; 69</pre> 70<p></p> 71</div> 72<hr> 73<div class="refsect2" lang="en"> 74<h3> 75<a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3> 76<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> xmlXPtrBuildNodeList (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br> 77</pre> 78<p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p> 79<div class="variablelist"><table border="0"> 80<col align="left"> 81<tbody> 82<tr> 83<td><span class="term"><i><tt>obj</tt></i>:</span></td> 84<td>the XPointer result from the evaluation.</td> 85</tr> 86<tr> 87<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 88<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td> 89</tr> 90</tbody> 91</table></div> 92</div> 93<hr> 94<div class="refsect2" lang="en"> 95<h3> 96<a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3> 97<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrEval (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br> 98</pre> 99<p>Evaluate the XPath Location Path in the given context.</p> 100<div class="variablelist"><table border="0"> 101<col align="left"> 102<tbody> 103<tr> 104<td><span class="term"><i><tt>str</tt></i>:</span></td> 105<td>the XPointer expression</td> 106</tr> 107<tr> 108<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 109<td>the XPointer context</td> 110</tr> 111<tr> 112<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 113<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td> 114</tr> 115</tbody> 116</table></div> 117</div> 118<hr> 119<div class="refsect2" lang="en"> 120<h3> 121<a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3> 122<pre class="programlisting">void xmlXPtrEvalRangePredicate (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br> 123</pre> 124<p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p> 125<div class="variablelist"><table border="0"> 126<col align="left"> 127<tbody><tr> 128<td><span class="term"><i><tt>ctxt</tt></i>:</span></td> 129<td>the XPointer Parser context</td> 130</tr></tbody> 131</table></div> 132</div> 133<hr> 134<div class="refsect2" lang="en"> 135<h3> 136<a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3> 137<pre class="programlisting">void xmlXPtrFreeLocationSet (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br> 138</pre> 139<p>Free the LocationSet compound (not the actual ranges !).</p> 140<div class="variablelist"><table border="0"> 141<col align="left"> 142<tbody><tr> 143<td><span class="term"><i><tt>obj</tt></i>:</span></td> 144<td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td> 145</tr></tbody> 146</table></div> 147</div> 148<hr> 149<div class="refsect2" lang="en"> 150<h3> 151<a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3> 152<pre class="programlisting">void xmlXPtrLocationSetAdd (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br> 153</pre> 154<p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p> 155<div class="variablelist"><table border="0"> 156<col align="left"> 157<tbody> 158<tr> 159<td><span class="term"><i><tt>cur</tt></i>:</span></td> 160<td>the initial range set</td> 161</tr> 162<tr> 163<td><span class="term"><i><tt>val</tt></i>:</span></td> 164<td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> 165</td> 166</tr> 167</tbody> 168</table></div> 169</div> 170<hr> 171<div class="refsect2" lang="en"> 172<h3> 173<a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3> 174<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> xmlXPtrLocationSetCreate (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br> 175</pre> 176<p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p> 177<div class="variablelist"><table border="0"> 178<col align="left"> 179<tbody> 180<tr> 181<td><span class="term"><i><tt>val</tt></i>:</span></td> 182<td>an initial xmlXPathObjectPtr, or NULL</td> 183</tr> 184<tr> 185<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 186<td>the newly created object.</td> 187</tr> 188</tbody> 189</table></div> 190</div> 191<hr> 192<div class="refsect2" lang="en"> 193<h3> 194<a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3> 195<pre class="programlisting">void xmlXPtrLocationSetDel (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br> 196</pre> 197<p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p> 198<div class="variablelist"><table border="0"> 199<col align="left"> 200<tbody> 201<tr> 202<td><span class="term"><i><tt>cur</tt></i>:</span></td> 203<td>the initial range set</td> 204</tr> 205<tr> 206<td><span class="term"><i><tt>val</tt></i>:</span></td> 207<td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> 208</td> 209</tr> 210</tbody> 211</table></div> 212</div> 213<hr> 214<div class="refsect2" lang="en"> 215<h3> 216<a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3> 217<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> xmlXPtrLocationSetMerge (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br> <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br> 218</pre> 219<p>Merges two rangesets, all ranges from @val2 are added to @val1</p> 220<div class="variablelist"><table border="0"> 221<col align="left"> 222<tbody> 223<tr> 224<td><span class="term"><i><tt>val1</tt></i>:</span></td> 225<td>the first LocationSet</td> 226</tr> 227<tr> 228<td><span class="term"><i><tt>val2</tt></i>:</span></td> 229<td>the second LocationSet</td> 230</tr> 231<tr> 232<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 233<td>val1 once extended or NULL in case of error.</td> 234</tr> 235</tbody> 236</table></div> 237</div> 238<hr> 239<div class="refsect2" lang="en"> 240<h3> 241<a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3> 242<pre class="programlisting">void xmlXPtrLocationSetRemove (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br> int val)<br> 243</pre> 244<p>Removes an entry from an existing LocationSet list.</p> 245<div class="variablelist"><table border="0"> 246<col align="left"> 247<tbody> 248<tr> 249<td><span class="term"><i><tt>cur</tt></i>:</span></td> 250<td>the initial range set</td> 251</tr> 252<tr> 253<td><span class="term"><i><tt>val</tt></i>:</span></td> 254<td>the index to remove</td> 255</tr> 256</tbody> 257</table></div> 258</div> 259<hr> 260<div class="refsect2" lang="en"> 261<h3> 262<a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3> 263<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewCollapsedRange (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br> 264</pre> 265<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p> 266<div class="variablelist"><table border="0"> 267<col align="left"> 268<tbody> 269<tr> 270<td><span class="term"><i><tt>start</tt></i>:</span></td> 271<td>the starting and ending node</td> 272</tr> 273<tr> 274<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 275<td>the newly created object.</td> 276</tr> 277</tbody> 278</table></div> 279</div> 280<hr> 281<div class="refsect2" lang="en"> 282<h3> 283<a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3> 284<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> xmlXPtrNewContext (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br> 285</pre> 286<p>Create a new XPointer context</p> 287<div class="variablelist"><table border="0"> 288<col align="left"> 289<tbody> 290<tr> 291<td><span class="term"><i><tt>doc</tt></i>:</span></td> 292<td>the XML document</td> 293</tr> 294<tr> 295<td><span class="term"><i><tt>here</tt></i>:</span></td> 296<td>the node that directly contains the XPointer being evaluated or NULL</td> 297</tr> 298<tr> 299<td><span class="term"><i><tt>origin</tt></i>:</span></td> 300<td>the element from which a user or program initiated traversal of the link, or NULL.</td> 301</tr> 302<tr> 303<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 304<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td> 305</tr> 306</tbody> 307</table></div> 308</div> 309<hr> 310<div class="refsect2" lang="en"> 311<h3> 312<a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3> 313<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewLocationSetNodeSet (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br> 314</pre> 315<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p> 316<div class="variablelist"><table border="0"> 317<col align="left"> 318<tbody> 319<tr> 320<td><span class="term"><i><tt>set</tt></i>:</span></td> 321<td>a node set</td> 322</tr> 323<tr> 324<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 325<td>the newly created object.</td> 326</tr> 327</tbody> 328</table></div> 329</div> 330<hr> 331<div class="refsect2" lang="en"> 332<h3> 333<a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3> 334<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewLocationSetNodes (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br> 335</pre> 336<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p> 337<div class="variablelist"><table border="0"> 338<col align="left"> 339<tbody> 340<tr> 341<td><span class="term"><i><tt>start</tt></i>:</span></td> 342<td>the start NodePtr value</td> 343</tr> 344<tr> 345<td><span class="term"><i><tt>end</tt></i>:</span></td> 346<td>the end NodePtr value or NULL</td> 347</tr> 348<tr> 349<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 350<td>the newly created object.</td> 351</tr> 352</tbody> 353</table></div> 354</div> 355<hr> 356<div class="refsect2" lang="en"> 357<h3> 358<a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3> 359<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRange (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> int startindex, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br> int endindex)<br> 360</pre> 361<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p> 362<div class="variablelist"><table border="0"> 363<col align="left"> 364<tbody> 365<tr> 366<td><span class="term"><i><tt>start</tt></i>:</span></td> 367<td>the starting node</td> 368</tr> 369<tr> 370<td><span class="term"><i><tt>startindex</tt></i>:</span></td> 371<td>the start index</td> 372</tr> 373<tr> 374<td><span class="term"><i><tt>end</tt></i>:</span></td> 375<td>the ending point</td> 376</tr> 377<tr> 378<td><span class="term"><i><tt>endindex</tt></i>:</span></td> 379<td>the ending index</td> 380</tr> 381<tr> 382<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 383<td>the newly created object.</td> 384</tr> 385</tbody> 386</table></div> 387</div> 388<hr> 389<div class="refsect2" lang="en"> 390<h3> 391<a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3> 392<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodeObject (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br> 393</pre> 394<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p> 395<div class="variablelist"><table border="0"> 396<col align="left"> 397<tbody> 398<tr> 399<td><span class="term"><i><tt>start</tt></i>:</span></td> 400<td>the starting node</td> 401</tr> 402<tr> 403<td><span class="term"><i><tt>end</tt></i>:</span></td> 404<td>the ending object</td> 405</tr> 406<tr> 407<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 408<td>the newly created object.</td> 409</tr> 410</tbody> 411</table></div> 412</div> 413<hr> 414<div class="refsect2" lang="en"> 415<h3> 416<a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3> 417<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodePoint (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br> 418</pre> 419<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p> 420<div class="variablelist"><table border="0"> 421<col align="left"> 422<tbody> 423<tr> 424<td><span class="term"><i><tt>start</tt></i>:</span></td> 425<td>the starting node</td> 426</tr> 427<tr> 428<td><span class="term"><i><tt>end</tt></i>:</span></td> 429<td>the ending point</td> 430</tr> 431<tr> 432<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 433<td>the newly created object.</td> 434</tr> 435</tbody> 436</table></div> 437</div> 438<hr> 439<div class="refsect2" lang="en"> 440<h3> 441<a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3> 442<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodes (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br> 443</pre> 444<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p> 445<div class="variablelist"><table border="0"> 446<col align="left"> 447<tbody> 448<tr> 449<td><span class="term"><i><tt>start</tt></i>:</span></td> 450<td>the starting node</td> 451</tr> 452<tr> 453<td><span class="term"><i><tt>end</tt></i>:</span></td> 454<td>the ending node</td> 455</tr> 456<tr> 457<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 458<td>the newly created object.</td> 459</tr> 460</tbody> 461</table></div> 462</div> 463<hr> 464<div class="refsect2" lang="en"> 465<h3> 466<a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3> 467<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangePointNode (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br> 468</pre> 469<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p> 470<div class="variablelist"><table border="0"> 471<col align="left"> 472<tbody> 473<tr> 474<td><span class="term"><i><tt>start</tt></i>:</span></td> 475<td>the starting point</td> 476</tr> 477<tr> 478<td><span class="term"><i><tt>end</tt></i>:</span></td> 479<td>the ending node</td> 480</tr> 481<tr> 482<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 483<td>the newly created object.</td> 484</tr> 485</tbody> 486</table></div> 487</div> 488<hr> 489<div class="refsect2" lang="en"> 490<h3> 491<a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3> 492<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangePoints (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br> <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br> 493</pre> 494<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p> 495<div class="variablelist"><table border="0"> 496<col align="left"> 497<tbody> 498<tr> 499<td><span class="term"><i><tt>start</tt></i>:</span></td> 500<td>the starting point</td> 501</tr> 502<tr> 503<td><span class="term"><i><tt>end</tt></i>:</span></td> 504<td>the ending point</td> 505</tr> 506<tr> 507<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 508<td>the newly created object.</td> 509</tr> 510</tbody> 511</table></div> 512</div> 513<hr> 514<div class="refsect2" lang="en"> 515<h3> 516<a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3> 517<pre class="programlisting">void xmlXPtrRangeToFunction (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br> int nargs)<br> 518</pre> 519<p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p> 520<div class="variablelist"><table border="0"> 521<col align="left"> 522<tbody> 523<tr> 524<td><span class="term"><i><tt>ctxt</tt></i>:</span></td> 525<td>the XPointer Parser context</td> 526</tr> 527<tr> 528<td><span class="term"><i><tt>nargs</tt></i>:</span></td> 529<td>the number of args</td> 530</tr> 531</tbody> 532</table></div> 533</div> 534<hr> 535<div class="refsect2" lang="en"> 536<h3> 537<a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3> 538<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrWrapLocationSet (<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br> 539</pre> 540<p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p> 541<div class="variablelist"><table border="0"> 542<col align="left"> 543<tbody> 544<tr> 545<td><span class="term"><i><tt>val</tt></i>:</span></td> 546<td>the LocationSet value</td> 547</tr> 548<tr> 549<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 550<td>the newly created object.</td> 551</tr> 552</tbody> 553</table></div> 554</div> 555<hr> 556</div> 557</div> 558</body> 559</html> 560