- win32config.h.in: updated
- xmlversion.h.in: crap forgot to update this, this mean 2.1.0
  lacks iconv support :-( need to release 2.1.1
- configure.in: release 2.1.1
- HTMLparser: fixed bug #14784
- xpath.c HTMLparser.c encoding.c parser.c: fix warning raised
  by Windows compiler
- HTMLparser.c SAX.c HTMLtree.h tree.h: create HTML document in
  the SAX startDocument() callback.
- TODO: updated
- rebuild doc
Daniel
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index 5fd98ba..14c2626 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -4,7 +4,7 @@
 >xpath</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-XPATH"
->xpath</A
-></H1
+>xpath</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7711"
+NAME="AEN9741"
 ></A
 ><H2
 >Name</H2
->xpath&nbsp;--&nbsp;</DIV
+>xpath &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7714"
+NAME="AEN9744"
 ></A
 ><H2
 >Synopsis</H2
@@ -144,6 +138,30 @@
 CLASS="SYNOPSIS"
 >&#13;
 
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXT"
+>xmlXPathContext</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXT"
+>xmlXPathParserContext</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLNODESET"
+>xmlNodeSet</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+>;
 #define     <A
 HREF="gnome-xml-xpath.html#XPATH-UNDEFINED"
 >XPATH_UNDEFINED</A
@@ -168,47 +186,87 @@
 HREF="gnome-xml-xpath.html#XPATH-USERS"
 >XPATH_USERS</A
 >
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECT"
+>xmlXPathObject</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+>;
 int         (<A
 HREF="gnome-xml-xpath.html#XMLXPATHCONVERTFUNC"
 >*xmlXPathConvertFunc</A
->)          (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>)          (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj,
                                              int type);
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHTYPE"
+>xmlXPathType</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHTYPEPTR"
+>xmlXPathTypePtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHVARIABLE"
+>xmlXPathVariable</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHVARIABLEPTR"
+>xmlXPathVariablePtr</A
+>;
 void        (<A
 HREF="gnome-xml-xpath.html#XMLXPATHEVALFUNC"
 >*xmlXPathEvalFunc</A
->)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHFUNCT"
+>xmlXPathFunct</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHFUNCPTR"
+>xmlXPathFuncPtr</A
+>;
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > (<A
 HREF="gnome-xml-xpath.html#XMLXPATHAXISFUNC"
 >*xmlXPathAxisFunc</A
->)       (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)       (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > cur);
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHAXIS"
+>xmlXPathAxis</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHAXISPTR"
+>xmlXPathAxisPtr</A
+>;
 void        (<A
 HREF="gnome-xml-xpath.html#XMLXPATHFUNCTION"
 >*xmlXPathFunction</A
->)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);
-<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHNEWCONTEXT"
 >xmlXPathNewContext</A
@@ -219,13 +277,13 @@
 void        <A
 HREF="gnome-xml-xpath.html#XMLXPATHFREECONTEXT"
 >xmlXPathFreeContext</A
->             (<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+>             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHEVAL"
 >xmlXPathEval</A
@@ -233,20 +291,20 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);
 void        <A
 HREF="gnome-xml-xpath.html#XMLXPATHFREEOBJECT"
 >xmlXPathFreeObject</A
->              (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>              (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION"
 >xmlXPathEvalExpression</A
@@ -254,10 +312,34 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
-> ctxt);</PRE
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
+> ctxt);
+<A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="gnome-xml-xpath.html#XMLXPATHNODESETCREATE"
+>xmlXPathNodeSetCreate</A
+>         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> val);
+void        <A
+HREF="gnome-xml-xpath.html#XMLXPATHFREENODESETLIST"
+>xmlXPathFreeNodeSetList</A
+>         (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> obj);
+void        <A
+HREF="gnome-xml-xpath.html#XMLXPATHFREENODESET"
+>xmlXPathFreeNodeSet</A
+>             (<A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> obj);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -265,7 +347,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7748"
+NAME="AEN9801"
 ></A
 ><H2
 >Description</H2
@@ -275,14 +357,210 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7751"
+NAME="AEN9804"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7753"
+NAME="AEN9806"
+></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 */
+    xmlNodeSetPtr nodelist;		/* The current node list */
+
+    int nb_variables;			/* number of defined variables */
+    int max_variables;			/* max number of variables */
+    xmlXPathVariablePtr *variables;	/* Array 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;			/* number of defined funcs */
+    int max_funcs;			/* max number of funcs */
+    xmlXPathFuncPtr *funcs;		/* Array of defined funcs */
+
+    int nb_axis;			/* number of defined axis */
+    int max_axis;			/* max number of axis */
+    xmlXPathAxisPtr *axis;		/* Array of defined axis */
+
+    /* Namespace traversal should be implemented with user */
+    xmlNsPtr *namespaces;		/* The namespaces lookup */
+    int nsNr;				/* the current Namespace index */
+    void *user;				/* user defined extra info */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9811"
+></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="AEN9816"
+></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="AEN9821"
+></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="AEN9826"
+></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="AEN9831"
+></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="AEN9836"
 ></A
 ><H3
 ><A
@@ -298,7 +576,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_UNDEFINED</PRE
+>#define XPATH_UNDEFINED	0</PRE
 ></TD
 ></TR
 ></TABLE
@@ -308,7 +586,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7758"
+NAME="AEN9841"
 ></A
 ><H3
 ><A
@@ -324,7 +602,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NODESET</PRE
+>#define XPATH_NODESET	1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -334,7 +612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7763"
+NAME="AEN9846"
 ></A
 ><H3
 ><A
@@ -350,7 +628,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_BOOLEAN</PRE
+>#define XPATH_BOOLEAN	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -360,7 +638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7768"
+NAME="AEN9851"
 ></A
 ><H3
 ><A
@@ -376,7 +654,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NUMBER</PRE
+>#define XPATH_NUMBER	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -386,7 +664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7773"
+NAME="AEN9856"
 ></A
 ><H3
 ><A
@@ -402,7 +680,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_STRING</PRE
+>#define XPATH_STRING	4</PRE
 ></TD
 ></TR
 ></TABLE
@@ -412,7 +690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7778"
+NAME="AEN9861"
 ></A
 ><H3
 ><A
@@ -428,7 +706,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_USERS</PRE
+>#define XPATH_USERS	5</PRE
 ></TD
 ></TR
 ></TABLE
@@ -438,7 +716,66 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7783"
+NAME="AEN9866"
+></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 {
+    int type;
+    xmlNodeSetPtr nodesetval;
+    int boolval;
+    double floatval;
+    xmlChar *stringval;
+    void *user;
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9871"
+></A
+><H3
+><A
+NAME="XMLXPATHOBJECTPTR"
+></A
+>xmlXPathObjectPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathObject *xmlXPathObjectPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9876"
 ></A
 ><H3
 ><A
@@ -454,9 +791,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         (*xmlXPathConvertFunc)          (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>int         (*xmlXPathConvertFunc)          (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj,
                                              int type);</PRE
 ></TD
@@ -532,7 +869,117 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7806"
+NAME="AEN9899"
+></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="AEN9904"
+></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="AEN9909"
+></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="AEN9914"
+></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="AEN9919"
 ></A
 ><H3
 ><A
@@ -548,9 +995,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlXPathEvalFunc)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>void        (*xmlXPathEvalFunc)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);</PRE
 ></TD
@@ -611,7 +1058,62 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7825"
+NAME="AEN9938"
+></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="AEN9943"
+></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="AEN9948"
 ></A
 ><H3
 ><A
@@ -627,16 +1129,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
-> (*xmlXPathAxisFunc)       (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> (*xmlXPathAxisFunc)       (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > cur);</PRE
 ></TD
 ></TR
@@ -711,7 +1213,62 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7850"
+NAME="AEN9973"
+></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="AEN9978"
+></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="AEN9983"
 ></A
 ><H3
 ><A
@@ -727,9 +1284,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlXPathFunction)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>void        (*xmlXPathFunction)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);</PRE
 ></TD
@@ -790,7 +1347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7869"
+NAME="AEN10002"
 ></A
 ><H3
 ><A
@@ -806,9 +1363,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > xmlXPathNewContext       (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
@@ -846,7 +1403,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML document</TD
 ></TR
 ><TR
 ><TD
@@ -861,7 +1418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathContext just allocated.</TD
 ></TR
 ></TABLE
 ><P
@@ -871,7 +1428,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7890"
+NAME="AEN10023"
 ></A
 ><H3
 ><A
@@ -887,9 +1444,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlXPathFreeContext             (<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+>void        xmlXPathFreeContext             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -924,7 +1481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the context to free</TD
 ></TR
 ></TABLE
 ><P
@@ -934,7 +1491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7906"
+NAME="AEN10039"
 ></A
 ><H3
 ><A
@@ -950,16 +1507,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > xmlXPathEval              (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -994,7 +1551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -1011,7 +1568,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -1026,7 +1583,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathObjectPtr resulting from the eveluation or NULL.
+the caller has to free the object.</TD
 ></TR
 ></TABLE
 ><P
@@ -1036,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7932"
+NAME="AEN10065"
 ></A
 ><H3
 ><A
@@ -1052,9 +1610,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlXPathFreeObject              (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>void        xmlXPathFreeObject              (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj);</PRE
 ></TD
 ></TR
@@ -1089,7 +1647,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the object to free</TD
 ></TR
 ></TABLE
 ><P
@@ -1099,7 +1657,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7948"
+NAME="AEN10081"
 ></A
 ><H3
 ><A
@@ -1115,16 +1673,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > xmlXPathEvalExpression    (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -1159,7 +1717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -1176,7 +1734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -1191,7 +1749,229 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>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="AEN10107"
+></A
+><H3
+><A
+NAME="XMLXPATHNODESETCREATE"
+></A
+>xmlXPathNodeSetCreate ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeSetCreate         (<A
+HREF="gnome-xml-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="AEN10129"
+></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="gnome-xml-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="gnome-xml-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="AEN10147"
+></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="gnome-xml-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