blob: e1ea9b284c9c8f7419a5a210cca76df20a5efe13 [file] [log] [blame]
<HTML
><HEAD
><TITLE
>xpath</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
REL="HOME"
TITLE="Gnome XML Library Reference Manual"
HREF="book1.html"><LINK
REL="UP"
TITLE="Libxml Library Reference"
HREF="libxml-lib.html"><LINK
REL="PREVIOUS"
TITLE="HTMLtree"
HREF="libxml-htmltree.html"><LINK
REL="NEXT"
TITLE="xpathInternals"
HREF="libxml-xpathinternals.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Gnome XML Library Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-htmltree.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxml-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-xpathinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="LIBXML-XPATH"
>xpath</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN10606"
></A
><H2
>Name</H2
>xpath&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN10609"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
struct <A
HREF="libxml-xpath.html#XMLXPATHCONTEXT"
>xmlXPathContext</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
>;
struct <A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXT"
>xmlXPathParserContext</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
>;
enum <A
HREF="libxml-xpath.html#XMLXPATHERROR"
>xmlXPathError</A
>;
struct <A
HREF="libxml-xpath.html#XMLNODESET"
>xmlNodeSet</A
>;
typedef <A
HREF="libxml-xpath.html#XMLNODESETPTR"
>xmlNodeSetPtr</A
>;
enum <A
HREF="libxml-xpath.html#XMLXPATHOBJECTTYPE"
>xmlXPathObjectType</A
>;
struct <A
HREF="libxml-xpath.html#XMLXPATHOBJECT"
>xmlXPathObject</A
>;
<GTKDOCLINK
HREF="TYPEDEF"
>typedef</GTKDOCLINK
> <A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> ();
int (<A
HREF="libxml-xpath.html#XMLXPATHCONVERTFUNC"
>*xmlXPathConvertFunc</A
>) (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj,
int type);
struct <A
HREF="libxml-xpath.html#XMLXPATHTYPE"
>xmlXPathType</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHTYPEPTR"
>xmlXPathTypePtr</A
>;
struct <A
HREF="libxml-xpath.html#XMLXPATHVARIABLE"
>xmlXPathVariable</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHVARIABLEPTR"
>xmlXPathVariablePtr</A
>;
void (<A
HREF="libxml-xpath.html#XMLXPATHEVALFUNC"
>*xmlXPathEvalFunc</A
>) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
int nargs);
struct <A
HREF="libxml-xpath.html#XMLXPATHFUNCT"
>xmlXPathFunct</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHFUNCPTR"
>xmlXPathFuncPtr</A
>;
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> (<A
HREF="libxml-xpath.html#XMLXPATHAXISFUNC"
>*xmlXPathAxisFunc</A
>) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> cur);
struct <A
HREF="libxml-xpath.html#XMLXPATHAXIS"
>xmlXPathAxis</A
>;
typedef <A
HREF="libxml-xpath.html#XMLXPATHAXISPTR"
>xmlXPathAxisPtr</A
>;
void (<A
HREF="libxml-xpath.html#XMLXPATHFUNCTION"
>*xmlXPathFunction</A
>) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
int nargs);
void <A
HREF="libxml-xpath.html#XMLXPATHINIT"
>xmlXPathInit</A
> (void);
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHNEWCONTEXT"
>xmlXPathNewContext</A
> (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);
void <A
HREF="libxml-xpath.html#XMLXPATHFREECONTEXT"
>xmlXPathFreeContext</A
> (<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHEVAL"
>xmlXPathEval</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHEVALXPTREXPR"
>xmlXPathEvalXPtrExpr</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);
void <A
HREF="libxml-xpath.html#XMLXPATHFREEOBJECT"
>xmlXPathFreeObject</A
> (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj);
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHEVALEXPRESSION"
>xmlXPathEvalExpression</A
> (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);
<A
HREF="libxml-xpath.html#XMLNODESETPTR"
>xmlNodeSetPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHNODESETCREATE"
>xmlXPathNodeSetCreate</A
> (<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> val);
void <A
HREF="libxml-xpath.html#XMLXPATHFREENODESETLIST"
>xmlXPathFreeNodeSetList</A
> (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj);
void <A
HREF="libxml-xpath.html#XMLXPATHFREENODESET"
>xmlXPathFreeNodeSet</A
> (<A
HREF="libxml-xpath.html#XMLNODESETPTR"
>xmlNodeSetPtr</A
> obj);
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> <A
HREF="libxml-xpath.html#XMLXPATHOBJECTCOPY"
>xmlXPathObjectCopy</A
> (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> val);
int <A
HREF="libxml-xpath.html#XMLXPATHCMPNODES"
>xmlXPathCmpNodes</A
> (<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node1,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node2);</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN10674"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN10677"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN10679"
></A
><H3
><A
NAME="XMLXPATHCONTEXT"
></A
>struct xmlXPathContext</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathContext {
xmlDocPtr doc; /* The current document */
xmlNodePtr node; /* The current node */
int nb_variables_unused; /* unused (hash table) */
int max_variables_unused; /* unused (hash table) */
xmlHashTablePtr varHash; /* Hash table of defined variables */
int nb_types; /* number of defined types */
int max_types; /* max number of types */
xmlXPathTypePtr types; /* Array of defined types */
int nb_funcs_unused; /* unused (hash table) */
int max_funcs_unused; /* unused (hash table) */
xmlHashTablePtr funcHash; /* Hash table of defined funcs */
int nb_axis; /* number of defined axis */
int max_axis; /* max number of axis */
xmlXPathAxisPtr axis; /* Array of defined axis */
/* the namespace nodes of the context node */
xmlNsPtr *namespaces; /* Array of namespaces */
int nsNr; /* number of namespace in scope */
void *user; /* function to free */
/* extra variables */
int contextSize; /* the context size */
int proximityPosition; /* the proximity position */
/* extra stuff for XPointer */
int xptr; /* it this an XPointer context */
xmlNodePtr here; /* for here() */
xmlNodePtr origin; /* for origin() */
/* the set of namespace declarations in scope for the expression */
xmlHashTablePtr nsHash; /* The namespaces hash table */
void *varLookupFunc; /* variable lookup func */
void *varLookupData; /* variable lookup data */
/* Possibility to link in an extra item */
void *extra; /* needed for XSLT */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10684"
></A
><H3
><A
NAME="XMLXPATHCONTEXTPTR"
></A
>xmlXPathContextPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathContext *xmlXPathContextPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10689"
></A
><H3
><A
NAME="XMLXPATHPARSERCONTEXT"
></A
>struct xmlXPathParserContext</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathParserContext {
const xmlChar *cur; /* the current char being parsed */
const xmlChar *base; /* the full expression */
int error; /* error code */
xmlXPathContextPtr context; /* the evaluation context */
xmlXPathObjectPtr value; /* the current value */
int valueNr; /* number of values stacked */
int valueMax; /* max number of values stacked */
xmlXPathObjectPtr *valueTab; /* stack of values */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10694"
></A
><H3
><A
NAME="XMLXPATHPARSERCONTEXTPTR"
></A
>xmlXPathParserContextPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathParserContext *xmlXPathParserContextPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10699"
></A
><H3
><A
NAME="XMLXPATHERROR"
></A
>enum xmlXPathError</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
XPATH_EXPRESSION_OK = 0,
XPATH_NUMBER_ERROR,
XPATH_UNFINISHED_LITERAL_ERROR,
XPATH_START_LITERAL_ERROR,
XPATH_VARIABLE_REF_ERROR,
XPATH_UNDEF_VARIABLE_ERROR,
XPATH_INVALID_PREDICATE_ERROR,
XPATH_EXPR_ERROR,
XPATH_UNCLOSED_ERROR,
XPATH_UNKNOWN_FUNC_ERROR,
XPATH_INVALID_OPERAND,
XPATH_INVALID_TYPE,
XPATH_INVALID_ARITY,
XPATH_INVALID_CTXT_SIZE,
XPATH_INVALID_CTXT_POSITION,
XPATH_MEMORY_ERROR,
XPTR_SYNTAX_ERROR,
XPTR_RESOURCE_ERROR,
XPTR_SUB_RESOURCE_ERROR,
XPATH_UNDEF_PREFIX_ERROR
} xmlXPathError;</PRE
></TD
></TR
></TABLE
><P
>Create a new xmlNodeSetPtr of type double and of value <TT
CLASS="PARAMETER"
><I
>val</I
></TT
></P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10706"
></A
><H3
><A
NAME="XMLNODESET"
></A
>struct xmlNodeSet</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlNodeSet {
int nodeNr; /* number of nodes in the set */
int nodeMax; /* size of the array as allocated */
xmlNodePtr *nodeTab; /* array of nodes in no particular order */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10711"
></A
><H3
><A
NAME="XMLNODESETPTR"
></A
>xmlNodeSetPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlNodeSet *xmlNodeSetPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10716"
></A
><H3
><A
NAME="XMLXPATHOBJECTTYPE"
></A
>enum xmlXPathObjectType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
XPATH_UNDEFINED = 0,
XPATH_NODESET = 1,
XPATH_BOOLEAN = 2,
XPATH_NUMBER = 3,
XPATH_STRING = 4,
XPATH_POINT = 5,
XPATH_RANGE = 6,
XPATH_LOCATIONSET = 7,
XPATH_USERS = 8,
XPATH_XSLT_TREE = 9 /* An XSLT value tree, non modifiable */
} xmlXPathObjectType;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10721"
></A
><H3
><A
NAME="XMLXPATHOBJECT"
></A
>struct xmlXPathObject</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathObject {
xmlXPathObjectType type;
xmlNodeSetPtr nodesetval;
int boolval;
double floatval;
xmlChar *stringval;
void *user;
int index;
void *user2;
int index2;
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10726"
></A
><H3
><A
NAME="XMLXPATHOBJECTPTR"
></A
>xmlXPathObjectPtr ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><GTKDOCLINK
HREF="TYPEDEF"
>typedef</GTKDOCLINK
> xmlXPathObjectPtr ();</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10741"
></A
><H3
><A
NAME="XMLXPATHCONVERTFUNC"
></A
>xmlXPathConvertFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int (*xmlXPathConvertFunc) (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj,
int type);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10764"
></A
><H3
><A
NAME="XMLXPATHTYPE"
></A
>struct xmlXPathType</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathType {
const xmlChar *name; /* the type name */
xmlXPathConvertFunc func; /* the conversion function */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10769"
></A
><H3
><A
NAME="XMLXPATHTYPEPTR"
></A
>xmlXPathTypePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathType *xmlXPathTypePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10774"
></A
><H3
><A
NAME="XMLXPATHVARIABLE"
></A
>struct xmlXPathVariable</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathVariable {
const xmlChar *name; /* the variable name */
xmlXPathObjectPtr value; /* the value */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10779"
></A
><H3
><A
NAME="XMLXPATHVARIABLEPTR"
></A
>xmlXPathVariablePtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathVariable *xmlXPathVariablePtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10784"
></A
><H3
><A
NAME="XMLXPATHEVALFUNC"
></A
>xmlXPathEvalFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void (*xmlXPathEvalFunc) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
int nargs);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nargs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10803"
></A
><H3
><A
NAME="XMLXPATHFUNCT"
></A
>struct xmlXPathFunct</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathFunct {
const xmlChar *name; /* the function name */
xmlXPathEvalFunc func; /* the evaluation function */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10808"
></A
><H3
><A
NAME="XMLXPATHFUNCPTR"
></A
>xmlXPathFuncPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathFunct *xmlXPathFuncPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10813"
></A
><H3
><A
NAME="XMLXPATHAXISFUNC"
></A
>xmlXPathAxisFunc ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> (*xmlXPathAxisFunc) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> cur);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>cur</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10838"
></A
><H3
><A
NAME="XMLXPATHAXIS"
></A
>struct xmlXPathAxis</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct xmlXPathAxis {
const xmlChar *name; /* the axis name */
xmlXPathAxisFunc func; /* the search function */
};</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10843"
></A
><H3
><A
NAME="XMLXPATHAXISPTR"
></A
>xmlXPathAxisPtr</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef xmlXPathAxis *xmlXPathAxisPtr;</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10848"
></A
><H3
><A
NAME="XMLXPATHFUNCTION"
></A
>xmlXPathFunction ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void (*xmlXPathFunction) (<A
HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
>xmlXPathParserContextPtr</A
> ctxt,
int nargs);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>nargs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10867"
></A
><H3
><A
NAME="XMLXPATHINIT"
></A
>xmlXPathInit ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathInit (void);</PRE
></TD
></TR
></TABLE
><P
>Initialize the XPath environment</P
><P
></P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10873"
></A
><H3
><A
NAME="XMLXPATHNEWCONTEXT"
></A
>xmlXPathNewContext ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> xmlXPathNewContext (<A
HREF="libxml-tree.html#XMLDOCPTR"
>xmlDocPtr</A
> doc);</PRE
></TD
></TR
></TABLE
><P
>Create a new xmlXPathContext</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>doc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XML document</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathContext just allocated.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10894"
></A
><H3
><A
NAME="XMLXPATHFREECONTEXT"
></A
>xmlXPathFreeContext ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeContext (<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Free up an xmlXPathContext</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the context to free</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10910"
></A
><H3
><A
NAME="XMLXPATHEVAL"
></A
>xmlXPathEval ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> xmlXPathEval (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Evaluate the XPath Location Path in the given context.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the eveluation or NULL.
the caller has to free the object.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10936"
></A
><H3
><A
NAME="XMLXPATHEVALXPTREXPR"
></A
>xmlXPathEvalXPtrExpr ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> xmlXPathEvalXPtrExpr (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&#13;</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10961"
></A
><H3
><A
NAME="XMLXPATHFREEOBJECT"
></A
>xmlXPathFreeObject ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeObject (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj);</PRE
></TD
></TR
></TABLE
><P
>Free up an xmlXPathObjectPtr object.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the object to free</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN10977"
></A
><H3
><A
NAME="XMLXPATHEVALEXPRESSION"
></A
>xmlXPathEvalExpression ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> xmlXPathEvalExpression (const <A
HREF="libxml-tree.html#XMLCHAR"
>xmlChar</A
> *str,
<A
HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
>xmlXPathContextPtr</A
> ctxt);</PRE
></TD
></TR
></TABLE
><P
>Evaluate the XPath expression in the given context.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>str</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath expression</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ctxt</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the XPath context</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the xmlXPathObjectPtr resulting from the evaluation or NULL.
the caller has to free the object.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11003"
></A
><H3
><A
NAME="XMLXPATHNODESETCREATE"
></A
>xmlXPathNodeSetCreate ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLNODESETPTR"
>xmlNodeSetPtr</A
> xmlXPathNodeSetCreate (<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> val);</PRE
></TD
></TR
></TABLE
><P
>Create a new xmlNodeSetPtr of type double and of value <TT
CLASS="PARAMETER"
><I
>val</I
></TT
></P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an initial xmlNodePtr, or NULL</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the newly created object.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11025"
></A
><H3
><A
NAME="XMLXPATHFREENODESETLIST"
></A
>xmlXPathFreeNodeSetList ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeNodeSetList (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> obj);</PRE
></TD
></TR
></TABLE
><P
>Free up the xmlXPathObjectPtr <TT
CLASS="PARAMETER"
><I
>obj</I
></TT
> but don't deallocate the objects in
the list contrary to <A
HREF="libxml-xpath.html#XMLXPATHFREEOBJECT"
>xmlXPathFreeObject</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an existing NodeSetList object</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11043"
></A
><H3
><A
NAME="XMLXPATHFREENODESET"
></A
>xmlXPathFreeNodeSet ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void xmlXPathFreeNodeSet (<A
HREF="libxml-xpath.html#XMLNODESETPTR"
>xmlNodeSetPtr</A
> obj);</PRE
></TD
></TR
></TABLE
><P
>Free the NodeSet compound (not the actual nodes !).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>obj</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the xmlNodeSetPtr to free</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11059"
></A
><H3
><A
NAME="XMLXPATHOBJECTCOPY"
></A
>xmlXPathObjectCopy ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> xmlXPathObjectCopy (<A
HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
>xmlXPathObjectPtr</A
> val);</PRE
></TD
></TR
></TABLE
><P
>allocate a new copy of a given object</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the original object</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the newly created object.</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN11080"
></A
><H3
><A
NAME="XMLXPATHCMPNODES"
></A
>xmlXPathCmpNodes ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int xmlXPathCmpNodes (<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node1,
<A
HREF="libxml-tree.html#XMLNODEPTR"
>xmlNodePtr</A
> node2);</PRE
></TD
></TR
></TABLE
><P
>Compare two nodes w.r.t document order</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>node1</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the first node</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>node2</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the second node</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><I
CLASS="EMPHASIS"
>Returns</I
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>-2 in case of error 1 if first point &lt; second point, 0 if
that's the same node, -1 otherwise</TD
></TR
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="libxml-htmltree.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="book1.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="libxml-lib.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="libxml-xpathinternals.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>HTMLtree</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>xpathInternals</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>