7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
10 TITLE="Gnome XML Library Reference Manual"
11 HREF="book1.html"><LINK
13 TITLE="Libxml Library Reference"
14 HREF="libxml-lib.html"><LINK
17 HREF="libxml-htmltree.html"><LINK
19 TITLE="xpathInternals"
20 HREF="libxml-xpathinternals.html"></HEAD
43 >Gnome XML Library Reference Manual</FONT
52 HREF="libxml-htmltree.html"
57 ><<< Previous Page</B
90 HREF="libxml-lib.html"
106 HREF="libxml-xpathinternals.html"
111 >Next Page >>></B
120 NAME="LIBXML-XPATH">xpath</H1
128 >xpath -- </DIV
130 CLASS="REFSYNOPSISDIV"
146 HREF="libxml-xpath.html#XMLXPATHCONTEXT"
150 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
151 >xmlXPathContextPtr</A
154 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXT"
155 >xmlXPathParserContext</A
158 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
159 >xmlXPathParserContextPtr</A
162 HREF="libxml-xpath.html#XMLXPATHERROR"
166 HREF="libxml-xpath.html#XMLNODESET"
170 HREF="libxml-xpath.html#XMLNODESETPTR"
174 HREF="libxml-xpath.html#XMLXPATHOBJECTTYPE"
175 >xmlXPathObjectType</A
178 HREF="libxml-xpath.html#XMLXPATHOBJECT"
182 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
183 >xmlXPathObjectPtr</A
186 HREF="libxml-xpath.html#XMLXPATHCONVERTFUNC"
187 >*xmlXPathConvertFunc</A
189 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
190 >xmlXPathObjectPtr</A
194 HREF="libxml-xpath.html#XMLXPATHTYPE"
198 HREF="libxml-xpath.html#XMLXPATHTYPEPTR"
202 HREF="libxml-xpath.html#XMLXPATHVARIABLE"
206 HREF="libxml-xpath.html#XMLXPATHVARIABLEPTR"
207 >xmlXPathVariablePtr</A
210 HREF="libxml-xpath.html#XMLXPATHEVALFUNC"
211 >*xmlXPathEvalFunc</A
213 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
214 >xmlXPathParserContextPtr</A
218 HREF="libxml-xpath.html#XMLXPATHFUNCT"
222 HREF="libxml-xpath.html#XMLXPATHFUNCPTR"
226 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
227 >xmlXPathObjectPtr</A
229 HREF="libxml-xpath.html#XMLXPATHAXISFUNC"
230 >*xmlXPathAxisFunc</A
232 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
233 >xmlXPathParserContextPtr</A
236 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
237 >xmlXPathObjectPtr</A
240 HREF="libxml-xpath.html#XMLXPATHAXIS"
244 HREF="libxml-xpath.html#XMLXPATHAXISPTR"
248 HREF="libxml-xpath.html#XMLXPATHCOMPEXPR"
252 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
253 >xmlXPathCompExprPtr</A
256 HREF="libxml-xpath.html#XMLXPATHFUNCTION"
257 >*xmlXPathFunction</A
259 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
260 >xmlXPathParserContextPtr</A
264 HREF="libxml-xpath.html#XMLXPATHISNAN"
271 HREF="libxml-xpath.html#XMLXPATHISINF"
278 HREF="libxml-xpath.html#XMLXPATHNODESETGETLENGTH"
279 >xmlXPathNodeSetGetLength</A
282 HREF="libxml-xpath.html#XMLXPATHNODESETITEM"
283 >xmlXPathNodeSetItem</A
286 HREF="libxml-xpath.html#XMLXPATHNODESETISEMPTY"
287 >xmlXPathNodeSetIsEmpty</A
290 HREF="libxml-xpath.html#XMLXPATHFREEOBJECT"
291 >xmlXPathFreeObject</A
293 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
294 >xmlXPathObjectPtr</A
297 HREF="libxml-xpath.html#XMLNODESETPTR"
300 HREF="libxml-xpath.html#XMLXPATHNODESETCREATE"
301 >xmlXPathNodeSetCreate</A
303 HREF="libxml-tree.html#XMLNODEPTR"
307 HREF="libxml-xpath.html#XMLXPATHFREENODESETLIST"
308 >xmlXPathFreeNodeSetList</A
310 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
311 >xmlXPathObjectPtr</A
314 HREF="libxml-xpath.html#XMLXPATHFREENODESET"
315 >xmlXPathFreeNodeSet</A
317 HREF="libxml-xpath.html#XMLNODESETPTR"
321 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
322 >xmlXPathObjectPtr</A
324 HREF="libxml-xpath.html#XMLXPATHOBJECTCOPY"
325 >xmlXPathObjectCopy</A
327 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
328 >xmlXPathObjectPtr</A
331 HREF="libxml-xpath.html#XMLXPATHCMPNODES"
334 HREF="libxml-tree.html#XMLNODEPTR"
338 HREF="libxml-tree.html#XMLNODEPTR"
342 HREF="libxml-xpath.html#XMLXPATHCASTNUMBERTOBOOLEAN"
343 >xmlXPathCastNumberToBoolean</A
349 HREF="libxml-xpath.html#XMLXPATHCASTSTRINGTOBOOLEAN"
350 >xmlXPathCastStringToBoolean</A
352 HREF="libxml-tree.html#XMLCHAR"
356 HREF="libxml-xpath.html#XMLXPATHCASTNODESETTOBOOLEAN"
357 >xmlXPathCastNodeSetToBoolean</A
359 HREF="libxml-xpath.html#XMLNODESETPTR"
363 HREF="libxml-xpath.html#XMLXPATHCASTTOBOOLEAN"
364 >xmlXPathCastToBoolean</A
366 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
367 >xmlXPathObjectPtr</A
373 HREF="libxml-xpath.html#XMLXPATHCASTBOOLEANTONUMBER"
374 >xmlXPathCastBooleanToNumber</A
380 HREF="libxml-xpath.html#XMLXPATHCASTSTRINGTONUMBER"
381 >xmlXPathCastStringToNumber</A
383 HREF="libxml-tree.html#XMLCHAR"
390 HREF="libxml-xpath.html#XMLXPATHCASTNODETONUMBER"
391 >xmlXPathCastNodeToNumber</A
393 HREF="libxml-tree.html#XMLNODEPTR"
400 HREF="libxml-xpath.html#XMLXPATHCASTNODESETTONUMBER"
401 >xmlXPathCastNodeSetToNumber</A
403 HREF="libxml-xpath.html#XMLNODESETPTR"
410 HREF="libxml-xpath.html#XMLXPATHCASTTONUMBER"
411 >xmlXPathCastToNumber</A
413 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
414 >xmlXPathObjectPtr</A
417 HREF="libxml-tree.html#XMLCHAR"
420 HREF="libxml-xpath.html#XMLXPATHCASTBOOLEANTOSTRING"
421 >xmlXPathCastBooleanToString</A
424 HREF="libxml-tree.html#XMLCHAR"
427 HREF="libxml-xpath.html#XMLXPATHCASTNUMBERTOSTRING"
428 >xmlXPathCastNumberToString</A
434 HREF="libxml-tree.html#XMLCHAR"
437 HREF="libxml-xpath.html#XMLXPATHCASTNODETOSTRING"
438 >xmlXPathCastNodeToString</A
440 HREF="libxml-tree.html#XMLNODEPTR"
444 HREF="libxml-tree.html#XMLCHAR"
447 HREF="libxml-xpath.html#XMLXPATHCASTNODESETTOSTRING"
448 >xmlXPathCastNodeSetToString</A
450 HREF="libxml-xpath.html#XMLNODESETPTR"
454 HREF="libxml-tree.html#XMLCHAR"
457 HREF="libxml-xpath.html#XMLXPATHCASTTOSTRING"
458 >xmlXPathCastToString</A
460 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
461 >xmlXPathObjectPtr</A
464 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
465 >xmlXPathObjectPtr</A
467 HREF="libxml-xpath.html#XMLXPATHCONVERTBOOLEAN"
468 >xmlXPathConvertBoolean</A
470 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
471 >xmlXPathObjectPtr</A
474 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
475 >xmlXPathObjectPtr</A
477 HREF="libxml-xpath.html#XMLXPATHCONVERTNUMBER"
478 >xmlXPathConvertNumber</A
480 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
481 >xmlXPathObjectPtr</A
484 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
485 >xmlXPathObjectPtr</A
487 HREF="libxml-xpath.html#XMLXPATHCONVERTSTRING"
488 >xmlXPathConvertString</A
490 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
491 >xmlXPathObjectPtr</A
494 HREF="libxml-xpath.html#XMLXPATHINIT"
498 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
499 >xmlXPathContextPtr</A
501 HREF="libxml-xpath.html#XMLXPATHNEWCONTEXT"
502 >xmlXPathNewContext</A
504 HREF="libxml-tree.html#XMLDOCPTR"
508 HREF="libxml-xpath.html#XMLXPATHFREECONTEXT"
509 >xmlXPathFreeContext</A
511 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
512 >xmlXPathContextPtr</A
515 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
516 >xmlXPathObjectPtr</A
518 HREF="libxml-xpath.html#XMLXPATHEVAL"
521 HREF="libxml-tree.html#XMLCHAR"
525 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
526 >xmlXPathContextPtr</A
529 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
530 >xmlXPathObjectPtr</A
532 HREF="libxml-xpath.html#XMLXPATHEVALEXPRESSION"
533 >xmlXPathEvalExpression</A
535 HREF="libxml-tree.html#XMLCHAR"
539 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
540 >xmlXPathContextPtr</A
543 HREF="libxml-xpath.html#XMLXPATHEVALPREDICATE"
544 >xmlXPathEvalPredicate</A
546 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
547 >xmlXPathContextPtr</A
550 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
551 >xmlXPathObjectPtr</A
554 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
555 >xmlXPathCompExprPtr</A
557 HREF="libxml-xpath.html#XMLXPATHCOMPILE"
560 HREF="libxml-tree.html#XMLCHAR"
564 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
565 >xmlXPathObjectPtr</A
567 HREF="libxml-xpath.html#XMLXPATHCOMPILEDEVAL"
568 >xmlXPathCompiledEval</A
570 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
571 >xmlXPathCompExprPtr</A
574 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
575 >xmlXPathContextPtr</A
578 HREF="libxml-xpath.html#XMLXPATHFREECOMPEXPR"
579 >xmlXPathFreeCompExpr</A
581 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
582 >xmlXPathCompExprPtr</A
612 NAME="XMLXPATHCONTEXT"
614 >struct xmlXPathContext</H3
623 CLASS="PROGRAMLISTING"
624 >struct xmlXPathContext {
625 xmlDocPtr doc; /* The current document */
626 xmlNodePtr node; /* The current node */
628 int nb_variables_unused; /* unused (hash table) */
629 int max_variables_unused; /* unused (hash table) */
630 xmlHashTablePtr varHash; /* Hash table of defined variables */
632 int nb_types; /* number of defined types */
633 int max_types; /* max number of types */
634 xmlXPathTypePtr types; /* Array of defined types */
636 int nb_funcs_unused; /* unused (hash table) */
637 int max_funcs_unused; /* unused (hash table) */
638 xmlHashTablePtr funcHash; /* Hash table of defined funcs */
640 int nb_axis; /* number of defined axis */
641 int max_axis; /* max number of axis */
642 xmlXPathAxisPtr axis; /* Array of defined axis */
644 /* the namespace nodes of the context node */
645 xmlNsPtr *namespaces; /* Array of namespaces */
646 int nsNr; /* number of namespace in scope */
647 void *user; /* function to free */
649 /* extra variables */
650 int contextSize; /* the context size */
651 int proximityPosition; /* the proximity position */
653 /* extra stuff for XPointer */
654 int xptr; /* it this an XPointer context */
655 xmlNodePtr here; /* for here() */
656 xmlNodePtr origin; /* for origin() */
658 /* the set of namespace declarations in scope for the expression */
659 xmlHashTablePtr nsHash; /* The namespaces hash table */
660 void *varLookupFunc; /* variable lookup func */
661 void *varLookupData; /* variable lookup data */
663 /* Possibility to link in an extra item */
664 void *extra; /* needed for XSLT */
666 /* The function name and URI when calling a function */
667 const xmlChar *function;
668 const xmlChar *functionURI;
670 /* function lookup function and data */
671 void *funcLookupFunc; /* function lookup func */
672 void *funcLookupData; /* function lookup data */
674 /* temporary namespace lists kept for walking the namespace axis */
675 xmlNsPtr *tmpNsList; /* Array of namespaces */
676 int tmpNsNr; /* number of namespace in scope */
682 >Expression evaluation occurs with respect to a context.
683 he context consists of:
684 - a node (the context node)
685 - a node list (the context node list)
686 - a set of variable bindings
688 - the set of namespace declarations in scope for the expression
689 Following the switch to hash tables, this need to be trimmed up at
690 the next binary incompatible release.</P
701 NAME="XMLXPATHCONTEXTPTR"
703 >xmlXPathContextPtr</H3
712 CLASS="PROGRAMLISTING"
713 >typedef xmlXPathContext *xmlXPathContextPtr;</PRE
727 NAME="XMLXPATHPARSERCONTEXT"
729 >struct xmlXPathParserContext</H3
738 CLASS="PROGRAMLISTING"
739 >struct xmlXPathParserContext {
740 const xmlChar *cur; /* the current char being parsed */
741 const xmlChar *base; /* the full expression */
743 int error; /* error code */
745 xmlXPathContextPtr context; /* the evaluation context */
746 xmlXPathObjectPtr value; /* the current value */
747 int valueNr; /* number of values stacked */
748 int valueMax; /* max number of values stacked */
749 xmlXPathObjectPtr *valueTab; /* stack of values */
751 xmlXPathCompExprPtr comp; /* the precompiled expression */
752 int xptr; /* it this an XPointer expression */
753 xmlNodePtr ancestor; /* used for walking preceding axis */
759 >An XPath parser context. It contains pure parsing informations,
760 an xmlXPathContext, and the stack of objects.</P
771 NAME="XMLXPATHPARSERCONTEXTPTR"
773 >xmlXPathParserContextPtr</H3
782 CLASS="PROGRAMLISTING"
783 >typedef xmlXPathParserContext *xmlXPathParserContextPtr;</PRE
799 >enum xmlXPathError</H3
808 CLASS="PROGRAMLISTING"
810 XPATH_EXPRESSION_OK = 0,
812 XPATH_UNFINISHED_LITERAL_ERROR,
813 XPATH_START_LITERAL_ERROR,
814 XPATH_VARIABLE_REF_ERROR,
815 XPATH_UNDEF_VARIABLE_ERROR,
816 XPATH_INVALID_PREDICATE_ERROR,
818 XPATH_UNCLOSED_ERROR,
819 XPATH_UNKNOWN_FUNC_ERROR,
820 XPATH_INVALID_OPERAND,
823 XPATH_INVALID_CTXT_SIZE,
824 XPATH_INVALID_CTXT_POSITION,
828 XPTR_SUB_RESOURCE_ERROR,
829 XPATH_UNDEF_PREFIX_ERROR,
830 XPATH_ENCODING_ERROR,
831 XPATH_INVALID_CHAR_ERROR
832 } xmlXPathError;</PRE
848 >struct xmlNodeSet</H3
857 CLASS="PROGRAMLISTING"
859 int nodeNr; /* number of nodes in the set */
860 int nodeMax; /* size of the array as allocated */
861 xmlNodePtr *nodeTab; /* array of nodes in no particular order */
862 /* @@ with_ns to check wether namespace nodes should be looked at @@ */
888 CLASS="PROGRAMLISTING"
889 >typedef xmlNodeSet *xmlNodeSetPtr;</PRE
903 NAME="XMLXPATHOBJECTTYPE"
905 >enum xmlXPathObjectType</H3
914 CLASS="PROGRAMLISTING"
923 XPATH_LOCATIONSET = 7,
925 XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */
926 } xmlXPathObjectType;</PRE
940 NAME="XMLXPATHOBJECT"
942 >struct xmlXPathObject</H3
951 CLASS="PROGRAMLISTING"
952 >struct xmlXPathObject {
953 xmlXPathObjectType type;
954 xmlNodeSetPtr nodesetval;
976 NAME="XMLXPATHOBJECTPTR"
978 >xmlXPathObjectPtr</H3
987 CLASS="PROGRAMLISTING"
988 >typedef xmlXPathObject *xmlXPathObjectPtr;</PRE
1002 NAME="XMLXPATHCONVERTFUNC"
1004 >xmlXPathConvertFunc ()</H3
1013 CLASS="PROGRAMLISTING"
1014 >int (*xmlXPathConvertFunc) (<A
1015 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
1016 >xmlXPathObjectPtr</A
1023 >A conversion function is associated to a type and used to cast
1024 the new type to primitive values.</P
1028 CLASS="INFORMALTABLE"
1055 > an XPath object</TD
1072 > the number of the target type</TD
1090 >-1 in case of error, 0 otherwise</TD
1107 >struct xmlXPathType</H3
1116 CLASS="PROGRAMLISTING"
1117 >struct xmlXPathType {
1118 const xmlChar *name; /* the type name */
1119 xmlXPathConvertFunc func; /* the conversion function */
1134 NAME="XMLXPATHTYPEPTR"
1136 >xmlXPathTypePtr</H3
1145 CLASS="PROGRAMLISTING"
1146 >typedef xmlXPathType *xmlXPathTypePtr;</PRE
1160 NAME="XMLXPATHVARIABLE"
1162 >struct xmlXPathVariable</H3
1171 CLASS="PROGRAMLISTING"
1172 >struct xmlXPathVariable {
1173 const xmlChar *name; /* the variable name */
1174 xmlXPathObjectPtr value; /* the value */
1189 NAME="XMLXPATHVARIABLEPTR"
1191 >xmlXPathVariablePtr</H3
1200 CLASS="PROGRAMLISTING"
1201 >typedef xmlXPathVariable *xmlXPathVariablePtr;</PRE
1215 NAME="XMLXPATHEVALFUNC"
1217 >xmlXPathEvalFunc ()</H3
1226 CLASS="PROGRAMLISTING"
1227 >void (*xmlXPathEvalFunc) (<A
1228 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
1229 >xmlXPathParserContextPtr</A
1236 >An XPath evaluation function, the parameters are on the XPath context stack.</P
1240 CLASS="INFORMALTABLE"
1267 > an XPath parser context</TD
1284 > the number of arguments passed to the function</TD
1299 NAME="XMLXPATHFUNCT"
1301 >struct xmlXPathFunct</H3
1310 CLASS="PROGRAMLISTING"
1311 >struct xmlXPathFunct {
1312 const xmlChar *name; /* the function name */
1313 xmlXPathEvalFunc func; /* the evaluation function */
1328 NAME="XMLXPATHFUNCPTR"
1330 >xmlXPathFuncPtr</H3
1339 CLASS="PROGRAMLISTING"
1340 >typedef xmlXPathFunct *xmlXPathFuncPtr;</PRE
1354 NAME="XMLXPATHAXISFUNC"
1356 >xmlXPathAxisFunc ()</H3
1365 CLASS="PROGRAMLISTING"
1367 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
1368 >xmlXPathObjectPtr</A
1369 > (*xmlXPathAxisFunc) (<A
1370 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
1371 >xmlXPathParserContextPtr</A
1374 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
1375 >xmlXPathObjectPtr</A
1381 >An axis traversal function. To traverse an axis, the engine calls
1382 the first time with cur == NULL and repeat until the function returns
1383 NULL indicating the end of the axis traversal.</P
1387 CLASS="INFORMALTABLE"
1414 > the XPath interpreter context</TD
1431 > the previous node being explored on that axis</TD
1449 >the next node in that axis or NULL if at the end of the axis.</TD
1466 >struct xmlXPathAxis</H3
1475 CLASS="PROGRAMLISTING"
1476 >struct xmlXPathAxis {
1477 const xmlChar *name; /* the axis name */
1478 xmlXPathAxisFunc func; /* the search function */
1493 NAME="XMLXPATHAXISPTR"
1495 >xmlXPathAxisPtr</H3
1504 CLASS="PROGRAMLISTING"
1505 >typedef xmlXPathAxis *xmlXPathAxisPtr;</PRE
1519 NAME="XMLXPATHCOMPEXPR"
1521 >struct xmlXPathCompExpr</H3
1530 CLASS="PROGRAMLISTING"
1531 >struct xmlXPathCompExpr;</PRE
1536 >[14] Expr ::= OrExpr
1537 [21] OrExpr ::= AndExpr
1538 | OrExpr 'or' AndExpr </P
1540 >Parse and compile an expression</P
1551 NAME="XMLXPATHCOMPEXPRPTR"
1553 >xmlXPathCompExprPtr</H3
1562 CLASS="PROGRAMLISTING"
1563 >typedef xmlXPathCompExpr *xmlXPathCompExprPtr;</PRE
1577 NAME="XMLXPATHFUNCTION"
1579 >xmlXPathFunction ()</H3
1588 CLASS="PROGRAMLISTING"
1589 >void (*xmlXPathFunction) (<A
1590 HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
1591 >xmlXPathParserContextPtr</A
1599 The arguments (if any) are popped out from the context stack
1600 and the result is pushed on the stack.</P
1604 CLASS="INFORMALTABLE"
1631 > the XPath interprestation context</TD
1648 > the number of arguments</TD
1663 NAME="XMLXPATHISNAN"
1665 >xmlXPathIsNaN ()</H3
1674 CLASS="PROGRAMLISTING"
1675 >int xmlXPathIsNaN (<GTKDOCLINK
1683 >Provides a portable <GTKDOCLINK
1686 >() function to detect whether a double
1687 is a NotaNumber. Based on trio code
1688 http://sourceforge.net/projects/ctrio/</P
1692 CLASS="INFORMALTABLE"
1719 > a double value</TD
1737 >1 if the value is a NaN, 0 otherwise</TD
1752 NAME="XMLXPATHISINF"
1754 >xmlXPathIsInf ()</H3
1763 CLASS="PROGRAMLISTING"
1764 >int xmlXPathIsInf (<GTKDOCLINK
1772 >Provides a portable <GTKDOCLINK
1775 >() function to detect whether a double
1776 is a +Infinite or -Infinite. Based on trio code
1777 http://sourceforge.net/projects/ctrio/</P
1781 CLASS="INFORMALTABLE"
1808 > a double value</TD
1826 >1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise</TD
1841 NAME="XMLXPATHNODESETGETLENGTH"
1843 >xmlXPathNodeSetGetLength()</H3
1852 CLASS="PROGRAMLISTING"
1853 >#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)->nodeNr : 0)</PRE
1858 >Implement a functionality similar to the DOM NodeList.length.</P
1862 CLASS="INFORMALTABLE"
1904 NAME="XMLXPATHNODESETITEM"
1906 >xmlXPathNodeSetItem()</H3
1915 CLASS="PROGRAMLISTING"
1916 >#define xmlXPathNodeSetItem(ns, index)</PRE
1921 >Implements a functionality similar to the DOM NodeList.<GTKDOCLINK
1928 CLASS="INFORMALTABLE"
1972 > index of a node in the set</TD
1987 NAME="XMLXPATHNODESETISEMPTY"
1989 >xmlXPathNodeSetIsEmpty()</H3
1998 CLASS="PROGRAMLISTING"
1999 >#define xmlXPathNodeSetIsEmpty(ns)</PRE
2009 > is empty or not.</P
2013 CLASS="INFORMALTABLE"
2055 NAME="XMLXPATHFREEOBJECT"
2057 >xmlXPathFreeObject ()</H3
2066 CLASS="PROGRAMLISTING"
2067 >void xmlXPathFreeObject (<A
2068 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
2069 >xmlXPathObjectPtr</A
2075 >Free up an xmlXPathObjectPtr object.</P
2079 CLASS="INFORMALTABLE"
2106 > the object to free</TD
2121 NAME="XMLXPATHNODESETCREATE"
2123 >xmlXPathNodeSetCreate ()</H3
2132 CLASS="PROGRAMLISTING"
2134 HREF="libxml-xpath.html#XMLNODESETPTR"
2136 > xmlXPathNodeSetCreate (<A
2137 HREF="libxml-tree.html#XMLNODEPTR"
2144 >Create a new xmlNodeSetPtr of type double and of value <TT
2153 CLASS="INFORMALTABLE"
2180 > an initial xmlNodePtr, or NULL</TD
2198 >the newly created object.</TD
2213 NAME="XMLXPATHFREENODESETLIST"
2215 >xmlXPathFreeNodeSetList ()</H3
2224 CLASS="PROGRAMLISTING"
2225 >void xmlXPathFreeNodeSetList (<A
2226 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
2227 >xmlXPathObjectPtr</A
2233 >Free up the xmlXPathObjectPtr <TT
2238 > but don't deallocate the objects in
2239 the list contrary to <A
2240 HREF="libxml-xpath.html#XMLXPATHFREEOBJECT"
2241 >xmlXPathFreeObject</A
2246 CLASS="INFORMALTABLE"
2273 > an existing NodeSetList object</TD
2288 NAME="XMLXPATHFREENODESET"
2290 >xmlXPathFreeNodeSet ()</H3
2299 CLASS="PROGRAMLISTING"
2300 >void xmlXPathFreeNodeSet (<A
2301 HREF="libxml-xpath.html#XMLNODESETPTR"
2308 >Free the NodeSet compound (not the actual nodes !).</P
2312 CLASS="INFORMALTABLE"
2339 > the xmlNodeSetPtr to free</TD
2354 NAME="XMLXPATHOBJECTCOPY"
2356 >xmlXPathObjectCopy ()</H3
2365 CLASS="PROGRAMLISTING"
2367 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
2368 >xmlXPathObjectPtr</A
2369 > xmlXPathObjectCopy (<A
2370 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
2371 >xmlXPathObjectPtr</A
2377 >allocate a new copy of a given object</P
2381 CLASS="INFORMALTABLE"
2408 > the original object</TD
2426 >the newly created object.</TD
2441 NAME="XMLXPATHCMPNODES"
2443 >xmlXPathCmpNodes ()</H3
2452 CLASS="PROGRAMLISTING"
2453 >int xmlXPathCmpNodes (<A
2454 HREF="libxml-tree.html#XMLNODEPTR"
2458 HREF="libxml-tree.html#XMLNODEPTR"
2465 >Compare two nodes w.r.t document order</P
2469 CLASS="INFORMALTABLE"
2496 > the first node</TD
2513 > the second node</TD
2531 >-2 in case of error 1 if first point < second point, 0 if
2532 that's the same node, -1 otherwise</TD
2547 NAME="XMLXPATHCASTNUMBERTOBOOLEAN"
2549 >xmlXPathCastNumberToBoolean ()</H3
2558 CLASS="PROGRAMLISTING"
2559 >int xmlXPathCastNumberToBoolean (<GTKDOCLINK
2567 >Converts a number to its boolean value</P
2571 CLASS="INFORMALTABLE"
2616 >the boolean value</TD
2631 NAME="XMLXPATHCASTSTRINGTOBOOLEAN"
2633 >xmlXPathCastStringToBoolean ()</H3
2642 CLASS="PROGRAMLISTING"
2643 >int xmlXPathCastStringToBoolean (const <A
2644 HREF="libxml-tree.html#XMLCHAR"
2651 >Converts a string to its boolean value</P
2655 CLASS="INFORMALTABLE"
2700 >the boolean value</TD
2715 NAME="XMLXPATHCASTNODESETTOBOOLEAN"
2717 >xmlXPathCastNodeSetToBoolean ()</H3
2726 CLASS="PROGRAMLISTING"
2727 >int xmlXPathCastNodeSetToBoolean (<A
2728 HREF="libxml-xpath.html#XMLNODESETPTR"
2735 >Converts a node-set to its boolean value</P
2739 CLASS="INFORMALTABLE"
2784 >the boolean value</TD
2799 NAME="XMLXPATHCASTTOBOOLEAN"
2801 >xmlXPathCastToBoolean ()</H3
2810 CLASS="PROGRAMLISTING"
2811 >int xmlXPathCastToBoolean (<A
2812 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
2813 >xmlXPathObjectPtr</A
2819 >Converts an XPath object to its boolean value</P
2823 CLASS="INFORMALTABLE"
2850 > an XPath object</TD
2868 >the boolean value</TD
2883 NAME="XMLXPATHCASTBOOLEANTONUMBER"
2885 >xmlXPathCastBooleanToNumber ()</H3
2894 CLASS="PROGRAMLISTING"
2898 > xmlXPathCastBooleanToNumber (int val);</PRE
2903 >Converts a boolean to its number value</P
2907 CLASS="INFORMALTABLE"
2952 >the number value</TD
2967 NAME="XMLXPATHCASTSTRINGTONUMBER"
2969 >xmlXPathCastStringToNumber ()</H3
2978 CLASS="PROGRAMLISTING"
2982 > xmlXPathCastStringToNumber (const <A
2983 HREF="libxml-tree.html#XMLCHAR"
2990 >Converts a string to its number value</P
2994 CLASS="INFORMALTABLE"
3039 >the number value</TD
3054 NAME="XMLXPATHCASTNODETONUMBER"
3056 >xmlXPathCastNodeToNumber ()</H3
3065 CLASS="PROGRAMLISTING"
3069 > xmlXPathCastNodeToNumber (<A
3070 HREF="libxml-tree.html#XMLNODEPTR"
3077 >Converts a node to its number value</P
3081 CLASS="INFORMALTABLE"
3126 >the number value</TD
3141 NAME="XMLXPATHCASTNODESETTONUMBER"
3143 >xmlXPathCastNodeSetToNumber ()</H3
3152 CLASS="PROGRAMLISTING"
3156 > xmlXPathCastNodeSetToNumber (<A
3157 HREF="libxml-xpath.html#XMLNODESETPTR"
3164 >Converts a node-set to its number value</P
3168 CLASS="INFORMALTABLE"
3213 >the number value</TD
3228 NAME="XMLXPATHCASTTONUMBER"
3230 >xmlXPathCastToNumber ()</H3
3239 CLASS="PROGRAMLISTING"
3243 > xmlXPathCastToNumber (<A
3244 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3245 >xmlXPathObjectPtr</A
3251 >Converts an XPath object to its number value</P
3255 CLASS="INFORMALTABLE"
3282 > an XPath object</TD
3300 >the number value</TD
3315 NAME="XMLXPATHCASTBOOLEANTOSTRING"
3317 >xmlXPathCastBooleanToString ()</H3
3326 CLASS="PROGRAMLISTING"
3328 HREF="libxml-tree.html#XMLCHAR"
3330 >* xmlXPathCastBooleanToString (int val);</PRE
3335 >Converts a boolean to its string value.</P
3339 CLASS="INFORMALTABLE"
3384 >a newly allocated string.</TD
3399 NAME="XMLXPATHCASTNUMBERTOSTRING"
3401 >xmlXPathCastNumberToString ()</H3
3410 CLASS="PROGRAMLISTING"
3412 HREF="libxml-tree.html#XMLCHAR"
3414 >* xmlXPathCastNumberToString (<GTKDOCLINK
3422 >Converts a number to its string value.</P
3426 CLASS="INFORMALTABLE"
3471 >a newly allocated string.</TD
3486 NAME="XMLXPATHCASTNODETOSTRING"
3488 >xmlXPathCastNodeToString ()</H3
3497 CLASS="PROGRAMLISTING"
3499 HREF="libxml-tree.html#XMLCHAR"
3501 >* xmlXPathCastNodeToString (<A
3502 HREF="libxml-tree.html#XMLNODEPTR"
3509 >Converts a node to its string value.</P
3513 CLASS="INFORMALTABLE"
3558 >a newly allocated string.</TD
3573 NAME="XMLXPATHCASTNODESETTOSTRING"
3575 >xmlXPathCastNodeSetToString ()</H3
3584 CLASS="PROGRAMLISTING"
3586 HREF="libxml-tree.html#XMLCHAR"
3588 >* xmlXPathCastNodeSetToString (<A
3589 HREF="libxml-xpath.html#XMLNODESETPTR"
3596 >Converts a node-set to its string value.</P
3600 CLASS="INFORMALTABLE"
3645 >a newly allocated string.</TD
3660 NAME="XMLXPATHCASTTOSTRING"
3662 >xmlXPathCastToString ()</H3
3671 CLASS="PROGRAMLISTING"
3673 HREF="libxml-tree.html#XMLCHAR"
3675 >* xmlXPathCastToString (<A
3676 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3677 >xmlXPathObjectPtr</A
3683 >Converts an existing object to its <GTKDOCLINK
3690 CLASS="INFORMALTABLE"
3717 > an XPath object</TD
3735 >the string value of the object, NULL in case of error.
3736 A new string is allocated only if needed (<TT
3757 NAME="XMLXPATHCONVERTBOOLEAN"
3759 >xmlXPathConvertBoolean ()</H3
3768 CLASS="PROGRAMLISTING"
3770 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3771 >xmlXPathObjectPtr</A
3772 > xmlXPathConvertBoolean (<A
3773 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3774 >xmlXPathObjectPtr</A
3780 >Converts an existing object to its <GTKDOCLINK
3782 >boolean</GTKDOCLINK
3787 CLASS="INFORMALTABLE"
3814 > an XPath object</TD
3832 >the new object, the old one is freed (or the operation
3833 is done directly on <TT
3853 NAME="XMLXPATHCONVERTNUMBER"
3855 >xmlXPathConvertNumber ()</H3
3864 CLASS="PROGRAMLISTING"
3866 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3867 >xmlXPathObjectPtr</A
3868 > xmlXPathConvertNumber (<A
3869 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3870 >xmlXPathObjectPtr</A
3876 >Converts an existing object to its <GTKDOCLINK
3883 CLASS="INFORMALTABLE"
3910 > an XPath object</TD
3928 >the new object, the old one is freed (or the operation
3929 is done directly on <TT
3949 NAME="XMLXPATHCONVERTSTRING"
3951 >xmlXPathConvertString ()</H3
3960 CLASS="PROGRAMLISTING"
3962 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3963 >xmlXPathObjectPtr</A
3964 > xmlXPathConvertString (<A
3965 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
3966 >xmlXPathObjectPtr</A
3972 >Converts an existing object to its <GTKDOCLINK
3979 CLASS="INFORMALTABLE"
4006 > an XPath object</TD
4024 >the new object, the old one is freed (or the operation
4025 is done directly on <TT
4047 >xmlXPathInit ()</H3
4056 CLASS="PROGRAMLISTING"
4057 >void xmlXPathInit (void);</PRE
4062 >Initialize the XPath environment</P
4073 NAME="XMLXPATHNEWCONTEXT"
4075 >xmlXPathNewContext ()</H3
4084 CLASS="PROGRAMLISTING"
4086 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4087 >xmlXPathContextPtr</A
4088 > xmlXPathNewContext (<A
4089 HREF="libxml-tree.html#XMLDOCPTR"
4096 >Create a new xmlXPathContext</P
4100 CLASS="INFORMALTABLE"
4127 > the XML document</TD
4145 >the xmlXPathContext just allocated. The caller will need to free it.</TD
4160 NAME="XMLXPATHFREECONTEXT"
4162 >xmlXPathFreeContext ()</H3
4171 CLASS="PROGRAMLISTING"
4172 >void xmlXPathFreeContext (<A
4173 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4174 >xmlXPathContextPtr</A
4180 >Free up an xmlXPathContext</P
4184 CLASS="INFORMALTABLE"
4211 > the context to free</TD
4228 >xmlXPathEval ()</H3
4237 CLASS="PROGRAMLISTING"
4239 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
4240 >xmlXPathObjectPtr</A
4241 > xmlXPathEval (const <A
4242 HREF="libxml-tree.html#XMLCHAR"
4246 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4247 >xmlXPathContextPtr</A
4253 >Evaluate the XPath Location Path in the given context.</P
4257 CLASS="INFORMALTABLE"
4284 > the XPath expression</TD
4301 > the XPath context</TD
4319 >the xmlXPathObjectPtr resulting from the evaluation or NULL.
4320 the caller has to free the object.</TD
4335 NAME="XMLXPATHEVALEXPRESSION"
4337 >xmlXPathEvalExpression ()</H3
4346 CLASS="PROGRAMLISTING"
4348 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
4349 >xmlXPathObjectPtr</A
4350 > xmlXPathEvalExpression (const <A
4351 HREF="libxml-tree.html#XMLCHAR"
4355 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4356 >xmlXPathContextPtr</A
4362 >Evaluate the XPath expression in the given context.</P
4366 CLASS="INFORMALTABLE"
4393 > the XPath expression</TD
4410 > the XPath context</TD
4428 >the xmlXPathObjectPtr resulting from the evaluation or NULL.
4429 the caller has to free the object.</TD
4444 NAME="XMLXPATHEVALPREDICATE"
4446 >xmlXPathEvalPredicate ()</H3
4455 CLASS="PROGRAMLISTING"
4456 >int xmlXPathEvalPredicate (<A
4457 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4458 >xmlXPathContextPtr</A
4461 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
4462 >xmlXPathObjectPtr</A
4468 >Evaluate a predicate result for the current node.
4469 A PredicateExpr is evaluated by evaluating the Expr and converting
4470 the result to a boolean. If the result is a number, the result will
4471 be converted to true if the number is equal to the position of the
4472 context node in the context node list (as returned by the position
4473 function) and will be converted to false otherwise; if the result
4474 is not a number, then the result will be converted as if by a call
4475 to the boolean function.</P
4479 CLASS="INFORMALTABLE"
4506 > the XPath context</TD
4523 > the Predicate Expression evaluation result</TD
4541 >1 if predicate is true, 0 otherwise</TD
4556 NAME="XMLXPATHCOMPILE"
4558 >xmlXPathCompile ()</H3
4567 CLASS="PROGRAMLISTING"
4569 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
4570 >xmlXPathCompExprPtr</A
4571 > xmlXPathCompile (const <A
4572 HREF="libxml-tree.html#XMLCHAR"
4579 >Compile an XPath expression</P
4583 CLASS="INFORMALTABLE"
4610 > the XPath expression</TD
4628 >the xmlXPathObjectPtr resulting from the evaluation or NULL.
4629 the caller has to free the object.</TD
4644 NAME="XMLXPATHCOMPILEDEVAL"
4646 >xmlXPathCompiledEval ()</H3
4655 CLASS="PROGRAMLISTING"
4657 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
4658 >xmlXPathObjectPtr</A
4659 > xmlXPathCompiledEval (<A
4660 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
4661 >xmlXPathCompExprPtr</A
4664 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
4665 >xmlXPathContextPtr</A
4671 >Evaluate the Precompiled XPath expression in the given context.</P
4675 CLASS="INFORMALTABLE"
4702 > the compiled XPath expression</TD
4719 > the XPath context</TD
4737 >the xmlXPathObjectPtr resulting from the evaluation or NULL.
4738 the caller has to free the object.</TD
4753 NAME="XMLXPATHFREECOMPEXPR"
4755 >xmlXPathFreeCompExpr ()</H3
4764 CLASS="PROGRAMLISTING"
4765 >void xmlXPathFreeCompExpr (<A
4766 HREF="libxml-xpath.html#XMLXPATHCOMPEXPRPTR"
4767 >xmlXPathCompExprPtr</A
4773 >Free up the memory allocated by <TT
4782 CLASS="INFORMALTABLE"
4821 CLEAR="all"><BR><TABLE
4833 HREF="libxml-htmltree.html"
4838 ><<< Previous Page</B
4871 HREF="libxml-lib.html"
4887 HREF="libxml-xpathinternals.html"
4892 >Next Page >>></B