get rid of the readline and libhistory dependancies by default, release

* configure.in: get rid of the readline and libhistory
  dependancies by default, release 2.4.1 with IA64 fix
* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
  include/libxml/tree.h include/libxml/xmlIO.h: incorporated
  John Kroll fixes to allow saving to HTTP via PUT (or
  POST of needed).
* doc/html/*.html: regenerated the docs
Daniel
diff --git a/ChangeLog b/ChangeLog
index 22e5a34..226c6f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Tue Jul 24 15:06:58 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+	* configure.in: get rid of the readline and libhistory
+	  dependancies by default, release 2.4.1 with IA64 fix
+	* nanohttp.c tree.c xmlIO.c include/libxml/nanohttp.h
+	  include/libxml/tree.h include/libxml/xmlIO.h: incorporated
+	  John Kroll fixes to allow saving to HTTP via PUT (or
+	  POST of needed).
+	* doc/html/*.html: regenerated the docs
+
 Sun Jul 22 05:56:16 CEST 2001 Thomas Broyer <tbroyer@ltgt.net>
 
 	* hash.c include/libxml/hash.h: added xmlHashScannerFull,
diff --git a/configure.in b/configure.in
index 068061c..a1402e1 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=4
-LIBXML_MICRO_VERSION=0
+LIBXML_MICRO_VERSION=1
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
@@ -206,30 +206,6 @@
   fi
 ])
 
-dnl check for terminal library. this is a very cool solution
-dnl from octave's configure.in
-unset tcap
-for termlib in ncurses curses termcap terminfo termlib; do
-    AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
-    test -n "$tcap" && break
-done
-
-AC_CHECK_HEADER(readline/history.h,
-    AC_CHECK_LIB(history, append_history,[
-       RDL_LIBS="-lhistory"
-       AC_DEFINE(HAVE_LIBHISTORY)]))
-AC_CHECK_HEADER(readline/readline.h,
-    AC_CHECK_LIB(readline, readline,[
-       RDL_LIBS="-lreadline $RDL_LIBS $tcap"
-       AC_DEFINE(HAVE_LIBREADLINE)], , $tcap))
-if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
-    CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
-    RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
-else
-    CPPFLAGS=${_cppflags}
-fi
-LDFLAGS=${_ldflags}
-
 dnl
 dnl specific tests to setup DV's devel environment with debug etc ...
 dnl (-Wunreachable-code)
@@ -265,6 +241,36 @@
 dnl Aloow to disable various pieces
 dnl
 
+AC_ARG_WITH(history, [  --with-history        Add history support to xmllint shell(off)])
+if test "$with_ftp" = "yes" ; then
+    echo Enabling xmllint shell history
+    dnl check for terminal library. this is a very cool solution
+    dnl from octave's configure.in
+    unset tcap
+    for termlib in ncurses curses termcap terminfo termlib; do
+	AC_CHECK_LIB(${termlib}, tputs, [tcap="-l$termlib"])
+	test -n "$tcap" && break
+    done
+
+    AC_CHECK_HEADER(readline/history.h,
+	AC_CHECK_LIB(history, append_history,[
+	   RDL_LIBS="-lhistory"
+	   AC_DEFINE(HAVE_LIBHISTORY)]))
+    AC_CHECK_HEADER(readline/readline.h,
+	AC_CHECK_LIB(readline, readline,[
+	   RDL_LIBS="-lreadline $RDL_LIBS $tcap"
+	   AC_DEFINE(HAVE_LIBREADLINE)], , $tcap))
+    if test -n "$RDL_DIR" -a -n "$RDL_LIBS"; then
+	CPPFLAGS="$CPPFLAGS -I${RDL_DIR}/include"
+	RDL_LIBS="-L${RDL_DIR}/lib $RDL_LIBS"
+    else
+	CPPFLAGS=${_cppflags}
+    fi
+    LDFLAGS=${_ldflags}
+fi
+
+AC_SUBST(WITH_FTP)
+AC_SUBST(FTP_OBJ)
 AC_ARG_WITH(ftp, [  --with-ftp              Add the FTP support (on)])
 if test "$with_ftp" = "no" ; then
     echo Disabling FTP support
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index de2aad3..dea1ad8 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -312,6 +312,7 @@
 <ANCHOR id ="XMLSAVEFILE" href="libxml/libxml-tree.html#XMLSAVEFILE">
 <ANCHOR id ="XMLSAVEFORMATFILE" href="libxml/libxml-tree.html#XMLSAVEFORMATFILE">
 <ANCHOR id ="XMLNODEDUMP" href="libxml/libxml-tree.html#XMLNODEDUMP">
+<ANCHOR id ="XMLSAVEFORMATFILEENC" href="libxml/libxml-tree.html#XMLSAVEFORMATFILEENC">
 <ANCHOR id ="XMLSAVEFILEENC" href="libxml/libxml-tree.html#XMLSAVEFILEENC">
 <ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLGETDOCCOMPRESSMODE">
 <ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="libxml/libxml-tree.html#XMLSETDOCCOMPRESSMODE">
@@ -374,13 +375,11 @@
 <ANCHOR id ="XMLDUMPATTRIBUTETABLE" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTETABLE">
 <ANCHOR id ="XMLDUMPATTRIBUTEDECL" href="libxml/libxml-valid.html#XMLDUMPATTRIBUTEDECL">
 <ANCHOR id ="XMLADDID" href="libxml/libxml-valid.html#XMLADDID">
-<ANCHOR id ="XMLCOPYIDTABLE" href="libxml/libxml-valid.html#XMLCOPYIDTABLE">
 <ANCHOR id ="XMLFREEIDTABLE" href="libxml/libxml-valid.html#XMLFREEIDTABLE">
 <ANCHOR id ="XMLGETID" href="libxml/libxml-valid.html#XMLGETID">
 <ANCHOR id ="XMLISID" href="libxml/libxml-valid.html#XMLISID">
 <ANCHOR id ="XMLREMOVEID" href="libxml/libxml-valid.html#XMLREMOVEID">
 <ANCHOR id ="XMLADDREF" href="libxml/libxml-valid.html#XMLADDREF">
-<ANCHOR id ="XMLCOPYREFTABLE" href="libxml/libxml-valid.html#XMLCOPYREFTABLE">
 <ANCHOR id ="XMLFREEREFTABLE" href="libxml/libxml-valid.html#XMLFREEREFTABLE">
 <ANCHOR id ="XMLISREF" href="libxml/libxml-valid.html#XMLISREF">
 <ANCHOR id ="XMLREMOVEREF" href="libxml/libxml-valid.html#XMLREMOVEREF">
@@ -507,6 +506,7 @@
 <ANCHOR id ="XMLXPATHFUNCTION" href="libxml/libxml-xpath.html#XMLXPATHFUNCTION">
 <ANCHOR id ="XMLXPATHNODESETGETLENGTH" href="libxml/libxml-xpath.html#XMLXPATHNODESETGETLENGTH">
 <ANCHOR id ="XMLXPATHNODESETITEM" href="libxml/libxml-xpath.html#XMLXPATHNODESETITEM">
+<ANCHOR id ="XMLXPATHNODESETISEMPTY" href="libxml/libxml-xpath.html#XMLXPATHNODESETISEMPTY">
 <ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpath.html#XMLXPATHFREEOBJECT">
 <ANCHOR id ="XMLXPATHNODESETCREATE" href="libxml/libxml-xpath.html#XMLXPATHNODESETCREATE">
 <ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpath.html#XMLXPATHFREENODESETLIST">
@@ -534,13 +534,35 @@
 <ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpath.html#XMLXPATHNEWCONTEXT">
 <ANCHOR id ="XMLXPATHFREECONTEXT" href="libxml/libxml-xpath.html#XMLXPATHFREECONTEXT">
 <ANCHOR id ="XMLXPATHEVAL" href="libxml/libxml-xpath.html#XMLXPATHEVAL">
-<ANCHOR id ="XMLXPATHEVALXPTREXPR" href="libxml/libxml-xpath.html#XMLXPATHEVALXPTREXPR">
 <ANCHOR id ="XMLXPATHEVALEXPRESSION" href="libxml/libxml-xpath.html#XMLXPATHEVALEXPRESSION">
 <ANCHOR id ="XMLXPATHEVALPREDICATE" href="libxml/libxml-xpath.html#XMLXPATHEVALPREDICATE">
 <ANCHOR id ="XMLXPATHCOMPILE" href="libxml/libxml-xpath.html#XMLXPATHCOMPILE">
 <ANCHOR id ="XMLXPATHCOMPILEDEVAL" href="libxml/libxml-xpath.html#XMLXPATHCOMPILEDEVAL">
 <ANCHOR id ="XMLXPATHFREECOMPEXPR" href="libxml/libxml-xpath.html#XMLXPATHFREECOMPEXPR">
 <ANCHOR id ="LIBXML-XPATHINTERNALS" href="libxml/libxml-xpathinternals.html">
+<ANCHOR id ="XMLXPATHSETERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETERROR">
+<ANCHOR id ="XMLXPATHSETARITYERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETARITYERROR">
+<ANCHOR id ="XMLXPATHSETTYPEERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHSETTYPEERROR">
+<ANCHOR id ="XMLXPATHGETERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHGETERROR">
+<ANCHOR id ="XMLXPATHCHECKERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHCHECKERROR">
+<ANCHOR id ="XMLXPATHGETDOCUMENT" href="libxml/libxml-xpathinternals.html#XMLXPATHGETDOCUMENT">
+<ANCHOR id ="XMLXPATHGETCONTEXTNODE" href="libxml/libxml-xpathinternals.html#XMLXPATHGETCONTEXTNODE">
+<ANCHOR id ="XMLXPATHPOPBOOLEAN" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPBOOLEAN">
+<ANCHOR id ="XMLXPATHPOPNUMBER" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPNUMBER">
+<ANCHOR id ="XMLXPATHPOPSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPSTRING">
+<ANCHOR id ="XMLXPATHPOPNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPNODESET">
+<ANCHOR id ="XMLXPATHPOPEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHPOPEXTERNAL">
+<ANCHOR id ="XMLXPATHRETURNBOOLEAN" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNBOOLEAN">
+<ANCHOR id ="XMLXPATHRETURNTRUE" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNTRUE">
+<ANCHOR id ="XMLXPATHRETURNFALSE" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNFALSE">
+<ANCHOR id ="XMLXPATHRETURNNUMBER" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNNUMBER">
+<ANCHOR id ="XMLXPATHRETURNSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNSTRING">
+<ANCHOR id ="XMLXPATHRETURNEMPTYSTRING" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEMPTYSTRING">
+<ANCHOR id ="XMLXPATHRETURNNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNNODESET">
+<ANCHOR id ="XMLXPATHRETURNEMPTYNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEMPTYNODESET">
+<ANCHOR id ="XMLXPATHRETURNEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHRETURNEXTERNAL">
+<ANCHOR id ="XMLXPATHSTACKISNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHSTACKISNODESET">
+<ANCHOR id ="XMLXPATHEMPTYNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHEMPTYNODESET">
 <ANCHOR id ="CHECK-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR-CAPS">
 <ANCHOR id ="CHECK-ERROR0-CAPS" href="libxml/libxml-xpathinternals.html#CHECK-ERROR0-CAPS">
 <ANCHOR id ="XP-ERROR-CAPS" href="libxml/libxml-xpathinternals.html#XP-ERROR-CAPS">
@@ -551,11 +573,24 @@
 <ANCHOR id ="CAST-TO-STRING-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-STRING-CAPS">
 <ANCHOR id ="CAST-TO-NUMBER-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-NUMBER-CAPS">
 <ANCHOR id ="CAST-TO-BOOLEAN-CAPS" href="libxml/libxml-xpathinternals.html#CAST-TO-BOOLEAN-CAPS">
-<ANCHOR id ="XMLXPATHOBJECTPTR" href="libxml/libxml-xpathinternals.html#XMLXPATHOBJECTPTR">
+<ANCHOR id ="XMLXPATHVARIABLELOOKUPFUNC" href="libxml/libxml-xpathinternals.html#XMLXPATHVARIABLELOOKUPFUNC">
 <ANCHOR id ="XMLXPATHREGISTERVARIABLELOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERVARIABLELOOKUP">
 <ANCHOR id ="XMLXPATHERROR" href="libxml/libxml-xpathinternals.html#XMLXPATHERROR">
 <ANCHOR id ="XMLXPATHDEBUGDUMPOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPOBJECT">
 <ANCHOR id ="XMLXPATHDEBUGDUMPCOMPEXPR" href="libxml/libxml-xpathinternals.html#XMLXPATHDEBUGDUMPCOMPEXPR">
+<ANCHOR id ="XMLXPATHDIFFERENCE" href="libxml/libxml-xpathinternals.html#XMLXPATHDIFFERENCE">
+<ANCHOR id ="XMLXPATHINTERSECTION" href="libxml/libxml-xpathinternals.html#XMLXPATHINTERSECTION">
+<ANCHOR id ="XMLXPATHDISTINCTSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHDISTINCTSORTED">
+<ANCHOR id ="XMLXPATHDISTINCT" href="libxml/libxml-xpathinternals.html#XMLXPATHDISTINCT">
+<ANCHOR id ="XMLXPATHHASSAMENODES" href="libxml/libxml-xpathinternals.html#XMLXPATHHASSAMENODES">
+<ANCHOR id ="XMLXPATHNODELEADINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHNODELEADINGSORTED">
+<ANCHOR id ="XMLXPATHLEADINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHLEADINGSORTED">
+<ANCHOR id ="XMLXPATHNODELEADING" href="libxml/libxml-xpathinternals.html#XMLXPATHNODELEADING">
+<ANCHOR id ="XMLXPATHLEADING" href="libxml/libxml-xpathinternals.html#XMLXPATHLEADING">
+<ANCHOR id ="XMLXPATHNODETRAILINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHNODETRAILINGSORTED">
+<ANCHOR id ="XMLXPATHTRAILINGSORTED" href="libxml/libxml-xpathinternals.html#XMLXPATHTRAILINGSORTED">
+<ANCHOR id ="XMLXPATHNODETRAILING" href="libxml/libxml-xpathinternals.html#XMLXPATHNODETRAILING">
+<ANCHOR id ="XMLXPATHTRAILING" href="libxml/libxml-xpathinternals.html#XMLXPATHTRAILING">
 <ANCHOR id ="XMLXPATHREGISTERNS" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTERNS">
 <ANCHOR id ="XMLXPATHNSLOOKUP" href="libxml/libxml-xpathinternals.html#XMLXPATHNSLOOKUP">
 <ANCHOR id ="XMLXPATHREGISTEREDNSCLEANUP" href="libxml/libxml-xpathinternals.html#XMLXPATHREGISTEREDNSCLEANUP">
@@ -601,6 +636,7 @@
 <ANCHOR id ="XMLXPATHFREENODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESET">
 <ANCHOR id ="XMLXPATHNEWNODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWNODESETLIST">
 <ANCHOR id ="XMLXPATHWRAPNODESET" href="libxml/libxml-xpathinternals.html#XMLXPATHWRAPNODESET">
+<ANCHOR id ="XMLXPATHWRAPEXTERNAL" href="libxml/libxml-xpathinternals.html#XMLXPATHWRAPEXTERNAL">
 <ANCHOR id ="XMLXPATHFREENODESETLIST" href="libxml/libxml-xpathinternals.html#XMLXPATHFREENODESETLIST">
 <ANCHOR id ="XMLXPATHFREEOBJECT" href="libxml/libxml-xpathinternals.html#XMLXPATHFREEOBJECT">
 <ANCHOR id ="XMLXPATHNEWCONTEXT" href="libxml/libxml-xpathinternals.html#XMLXPATHNEWCONTEXT">
@@ -753,6 +789,7 @@
 <ANCHOR id ="XMLOUTPUTBUFFERFLUSH" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERFLUSH">
 <ANCHOR id ="XMLOUTPUTBUFFERCLOSE" href="libxml/libxml-xmlio.html#XMLOUTPUTBUFFERCLOSE">
 <ANCHOR id ="XMLREGISTEROUTPUTCALLBACKS" href="libxml/libxml-xmlio.html#XMLREGISTEROUTPUTCALLBACKS">
+<ANCHOR id ="XMLIOHTTPOPENW" href="libxml/libxml-xmlio.html#XMLIOHTTPOPENW">
 <ANCHOR id ="XMLSAVEFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFILETO">
 <ANCHOR id ="XMLSAVEFORMATFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFORMATFILETO">
 <ANCHOR id ="XMLNODEDUMPOUTPUT" href="libxml/libxml-xmlio.html#XMLNODEDUMPOUTPUT">
@@ -943,7 +980,6 @@
 <ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDOCUMENT">
 <ANCHOR id ="XMLDEBUGDUMPDTD" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPDTD">
 <ANCHOR id ="XMLDEBUGDUMPENTITIES" href="libxml/libxml-debugxml.html#XMLDEBUGDUMPENTITIES">
-<ANCHOR id ="XMLLSONENODE" href="libxml/libxml-debugxml.html#XMLLSONENODE">
 <ANCHOR id ="XMLSHELLREADLINEFUNC" href="libxml/libxml-debugxml.html#XMLSHELLREADLINEFUNC">
 <ANCHOR id ="XMLSHELLCTXT" href="libxml/libxml-debugxml.html#XMLSHELLCTXT">
 <ANCHOR id ="XMLSHELLCTXTPTR" href="libxml/libxml-debugxml.html#XMLSHELLCTXTPTR">
diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html
index f9bb3fa..6d97a4b 100644
--- a/doc/html/libxml-catalog.html
+++ b/doc/html/libxml-catalog.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN17484"
+NAME="AEN18337"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN17487"
+NAME="AEN18340"
 ></A
 ><H2
 >Synopsis</H2
@@ -152,7 +152,7 @@
 int         <A
 HREF="libxml-catalog.html#XMLLOADCATALOG"
 >xmlLoadCatalog</A
->                  (const char *URL);
+>                  (const char *filename);
 void        <A
 HREF="libxml-catalog.html#XMLLOADCATALOGS"
 >xmlLoadCatalogs</A
@@ -195,7 +195,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17502"
+NAME="AEN18355"
 ></A
 ><H2
 >Description</H2
@@ -205,14 +205,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17505"
+NAME="AEN18358"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17507"
+NAME="AEN18360"
 ></A
 ><H3
 ><A
@@ -233,14 +233,12 @@
 ></TR
 ></TABLE
 ><P
->The namespace for the XML Catalogs elements</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17513"
+NAME="AEN18365"
 ></A
 ><H3
 ><A
@@ -256,16 +254,21 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlLoadCatalog                  (const char *URL);</PRE
+>int         xmlLoadCatalog                  (const char *filename);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
+>Load the catalog and makes its definitions effective for the default
+external entity loader. It will recuse in CATALOG entries.
+TODO: this function is not thread safe, catalog initialization should
+be done once at startup</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17518"
+NAME="AEN18371"
 ></A
 ><P
 ></P
@@ -285,14 +288,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->URL</I
+>filename</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a file path</TD
 ></TR
 ><TR
 ><TD
@@ -307,7 +310,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 in case of success -1 in case of error</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -318,7 +321,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17531"
+NAME="AEN18384"
 ></A
 ><H3
 ><A
@@ -339,11 +342,16 @@
 ></TR
 ></TABLE
 ><P
+>Load the catalogs and makes their definitions effective for the default
+external entity loader.
+TODO: this function is not thread safe, catalog initialization should
+be done once at startup</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17536"
+NAME="AEN18390"
 ></A
 ><P
 ></P
@@ -370,7 +378,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a list of file path separated by ':' or spaces</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -381,7 +389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17545"
+NAME="AEN18399"
 ></A
 ><H3
 ><A
@@ -409,7 +417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17551"
+NAME="AEN18405"
 ></A
 ><H3
 ><A
@@ -439,7 +447,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17558"
+NAME="AEN18412"
 ></A
 ><P
 ></P
@@ -477,7 +485,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17567"
+NAME="AEN18421"
 ></A
 ><H3
 ><A
@@ -510,7 +518,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17575"
+NAME="AEN18429"
 ></A
 ><P
 ></P
@@ -563,7 +571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17588"
+NAME="AEN18442"
 ></A
 ><H3
 ><A
@@ -596,7 +604,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17596"
+NAME="AEN18450"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-debugxml.html b/doc/html/libxml-debugxml.html
index 9923aba..869ba95 100644
--- a/doc/html/libxml-debugxml.html
+++ b/doc/html/libxml-debugxml.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN21544"
+NAME="AEN22337"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN21547"
+NAME="AEN22340"
 ></A
 ><H2
 >Synopsis</H2
@@ -248,7 +248,7 @@
                                              <A
 HREF="libxml-tree.html#XMLDTDPTR"
 >xmlDtdPtr</A
-> doc);
+> dtd);
 void        <A
 HREF="libxml-debugxml.html#XMLDEBUGDUMPENTITIES"
 >xmlDebugDumpEntities</A
@@ -260,17 +260,6 @@
 HREF="libxml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > doc);
-void        <A
-HREF="libxml-debugxml.html#XMLLSONENODE"
->xmlLsOneNode</A
->                    (<GTKDOCLINK
-HREF="FILE-CAPS"
->FILE</GTKDOCLINK
-> *output,
-                                             <A
-HREF="libxml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> node);
 char*       (<A
 HREF="libxml-debugxml.html#XMLSHELLREADLINEFUNC"
 >*xmlShellReadlineFunc</A
@@ -322,7 +311,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN21594"
+NAME="AEN22384"
 ></A
 ><H2
 >Description</H2
@@ -332,14 +321,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN21597"
+NAME="AEN22387"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21599"
+NAME="AEN22389"
 ></A
 ><H3
 ><A
@@ -367,11 +356,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps informations about the string, shorten it if necessary</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21606"
+NAME="AEN22397"
 ></A
 ><P
 ></P
@@ -398,7 +389,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -415,7 +406,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -426,7 +417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21619"
+NAME="AEN22410"
 ></A
 ><H3
 ><A
@@ -455,11 +446,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the attribute</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21626"
+NAME="AEN22418"
 ></A
 ><P
 ></P
@@ -486,7 +479,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -503,7 +496,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -520,7 +513,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -531,7 +524,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21643"
+NAME="AEN22435"
 ></A
 ><H3
 ><A
@@ -560,11 +553,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the attribute list</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21650"
+NAME="AEN22443"
 ></A
 ><P
 ></P
@@ -591,7 +586,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -608,7 +603,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute list</TD
 ></TR
 ><TR
 ><TD
@@ -625,7 +620,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -636,7 +631,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21667"
+NAME="AEN22460"
 ></A
 ><H3
 ><A
@@ -665,11 +660,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the element node, it is not recursive</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21674"
+NAME="AEN22468"
 ></A
 ><P
 ></P
@@ -696,7 +693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -713,7 +710,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -730,7 +727,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -741,7 +738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21691"
+NAME="AEN22485"
 ></A
 ><H3
 ><A
@@ -770,11 +767,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the element node, it is recursive</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21698"
+NAME="AEN22493"
 ></A
 ><P
 ></P
@@ -801,7 +800,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -818,7 +817,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -835,7 +834,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -846,7 +845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21715"
+NAME="AEN22510"
 ></A
 ><H3
 ><A
@@ -875,11 +874,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the list of element node, it is recursive</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21722"
+NAME="AEN22518"
 ></A
 ><P
 ></P
@@ -906,7 +907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -923,7 +924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node list</TD
 ></TR
 ><TR
 ><TD
@@ -940,7 +941,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -951,7 +952,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21739"
+NAME="AEN22535"
 ></A
 ><H3
 ><A
@@ -979,11 +980,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information cncerning the document, not recursive</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21746"
+NAME="AEN22543"
 ></A
 ><P
 ></P
@@ -1010,7 +1013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -1027,7 +1030,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1038,7 +1041,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21759"
+NAME="AEN22556"
 ></A
 ><H3
 ><A
@@ -1066,11 +1069,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the document, it's recursive</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21766"
+NAME="AEN22564"
 ></A
 ><P
 ></P
@@ -1097,7 +1102,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -1114,7 +1119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1125,7 +1130,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21779"
+NAME="AEN22577"
 ></A
 ><H3
 ><A
@@ -1148,16 +1153,18 @@
                                              <A
 HREF="libxml-tree.html#XMLDTDPTR"
 >xmlDtdPtr</A
-> doc);</PRE
+> dtd);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for the DTD</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21786"
+NAME="AEN22585"
 ></A
 ><P
 ></P
@@ -1184,7 +1191,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -1194,14 +1201,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->doc</I
+>dtd</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1212,7 +1219,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21799"
+NAME="AEN22598"
 ></A
 ><H3
 ><A
@@ -1240,11 +1247,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps debug information for all the entities in use by the document</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21806"
+NAME="AEN22606"
 ></A
 ><P
 ></P
@@ -1271,7 +1280,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -1288,7 +1297,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1299,94 +1308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21819"
-></A
-><H3
-><A
-NAME="XMLLSONENODE"
-></A
->xmlLsOneNode ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlLsOneNode                    (<GTKDOCLINK
-HREF="FILE-CAPS"
->FILE</GTKDOCLINK
-> *output,
-                                             <A
-HREF="libxml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> node);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN21826"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->output</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
->node</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN21839"
+NAME="AEN22619"
 ></A
 ><H3
 ><A
@@ -1407,13 +1329,11 @@
 ></TR
 ></TABLE
 ><P
->This is a generic signature for the XML shell input function</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21845"
+NAME="AEN22624"
 ></A
 ><P
 ></P
@@ -1440,7 +1360,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a string prompt</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1455,7 +1375,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a string which will be freed by the Shell</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1466,7 +1386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21858"
+NAME="AEN22637"
 ></A
 ><H3
 ><A
@@ -1495,15 +1415,12 @@
 ></TR
 ></TABLE
 ><P
->A debugging shell context
-TODO: add the defined function tables.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21864"
+NAME="AEN22642"
 ></A
 ><H3
 ><A
@@ -1529,7 +1446,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21869"
+NAME="AEN22647"
 ></A
 ><H3
 ><A
@@ -1562,13 +1479,11 @@
 ></TR
 ></TABLE
 ><P
->This is a generic signature for the XML shell functions</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21878"
+NAME="AEN22655"
 ></A
 ><P
 ></P
@@ -1595,7 +1510,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a shell context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1612,7 +1527,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a string argument</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1629,7 +1544,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a first node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1646,7 +1561,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a second node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1661,7 +1576,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an int, negative returns indicating errors</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1672,7 +1587,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21903"
+NAME="AEN22680"
 ></A
 ><H3
 ><A
@@ -1713,7 +1628,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21912"
+NAME="AEN22689"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-docbparser.html b/doc/html/libxml-docbparser.html
index 6fa2375..5551127 100644
--- a/doc/html/libxml-docbparser.html
+++ b/doc/html/libxml-docbparser.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN17614"
+NAME="AEN18468"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN17617"
+NAME="AEN18471"
 ></A
 ><H2
 >Synopsis</H2
@@ -294,7 +294,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17654"
+NAME="AEN18508"
 ></A
 ><H2
 >Description</H2
@@ -304,14 +304,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17657"
+NAME="AEN18511"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17659"
+NAME="AEN18513"
 ></A
 ><H3
 ><A
@@ -337,7 +337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17664"
+NAME="AEN18518"
 ></A
 ><H3
 ><A
@@ -363,7 +363,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17669"
+NAME="AEN18523"
 ></A
 ><H3
 ><A
@@ -389,7 +389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17674"
+NAME="AEN18528"
 ></A
 ><H3
 ><A
@@ -415,7 +415,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17679"
+NAME="AEN18533"
 ></A
 ><H3
 ><A
@@ -441,7 +441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17684"
+NAME="AEN18538"
 ></A
 ><H3
 ><A
@@ -467,7 +467,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17689"
+NAME="AEN18543"
 ></A
 ><H3
 ><A
@@ -493,7 +493,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17694"
+NAME="AEN18548"
 ></A
 ><H3
 ><A
@@ -519,7 +519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17699"
+NAME="AEN18553"
 ></A
 ><H3
 ><A
@@ -545,7 +545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17704"
+NAME="AEN18558"
 ></A
 ><H3
 ><A
@@ -577,7 +577,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17710"
+NAME="AEN18564"
 ></A
 ><P
 ></P
@@ -721,7 +721,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17743"
+NAME="AEN18597"
 ></A
 ><H3
 ><A
@@ -762,7 +762,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17752"
+NAME="AEN18606"
 ></A
 ><P
 ></P
@@ -866,7 +866,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17777"
+NAME="AEN18631"
 ></A
 ><H3
 ><A
@@ -900,7 +900,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17785"
+NAME="AEN18639"
 ></A
 ><P
 ></P
@@ -970,7 +970,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17802"
+NAME="AEN18656"
 ></A
 ><H3
 ><A
@@ -1009,7 +1009,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17810"
+NAME="AEN18664"
 ></A
 ><P
 ></P
@@ -1113,7 +1113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17835"
+NAME="AEN18689"
 ></A
 ><H3
 ><A
@@ -1146,7 +1146,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17842"
+NAME="AEN18696"
 ></A
 ><P
 ></P
@@ -1216,7 +1216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17859"
+NAME="AEN18713"
 ></A
 ><H3
 ><A
@@ -1247,7 +1247,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17866"
+NAME="AEN18720"
 ></A
 ><P
 ></P
@@ -1285,7 +1285,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17875"
+NAME="AEN18729"
 ></A
 ><H3
 ><A
@@ -1339,7 +1339,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17886"
+NAME="AEN18740"
 ></A
 ><P
 ></P
@@ -1477,7 +1477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17919"
+NAME="AEN18773"
 ></A
 ><H3
 ><A
@@ -1510,7 +1510,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17926"
+NAME="AEN18780"
 ></A
 ><P
 ></P
@@ -1614,7 +1614,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17951"
+NAME="AEN18805"
 ></A
 ><H3
 ><A
@@ -1647,7 +1647,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17958"
+NAME="AEN18812"
 ></A
 ><P
 ></P
@@ -1717,7 +1717,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17975"
+NAME="AEN18829"
 ></A
 ><H3
 ><A
@@ -1748,7 +1748,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17982"
+NAME="AEN18836"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index a88f8c5..e751e1d 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN20826"
+NAME="AEN21633"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN20829"
+NAME="AEN21636"
 ></A
 ><H2
 >Synopsis</H2
@@ -381,7 +381,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20889"
+NAME="AEN21696"
 ></A
 ><H2
 >Description</H2
@@ -391,14 +391,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20892"
+NAME="AEN21699"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20894"
+NAME="AEN21701"
 ></A
 ><H3
 ><A
@@ -444,27 +444,12 @@
 ></TR
 ></TABLE
 ><P
->Predefined values for some standard encodings
-Libxml don't do beforehand translation on UTF8, ISOLatinX
-It also support UTF16 (LE and BE) by default.</P
-><P
->Anything else would have to be translated to UTF8 before being
-given to the parser itself. The BOM for UTF16 and the encoding
-declaration are looked at and a converter is looked for at that
-point. If not found the parser stops here as asked by the XML REC
-Converter can be registered by the user using xmlRegisterCharEncodingHandler
-but the currentl form doesn't allow stateful transcoding (a serious
-problem agreed !). If iconv has been found it will be used
-automatically and allow stateful transcoding, the simplest is then
-to be sure to enable icon and to provide iconv libs for the encoding
-support needed.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20901"
+NAME="AEN21706"
 ></A
 ><H3
 ><A
@@ -488,14 +473,11 @@
 ></TR
 ></TABLE
 ><P
->Take a block of chars in the original encoding and try to convert
-it to an UTF-8 block of chars out.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20907"
+NAME="AEN21711"
 ></A
 ><P
 ></P
@@ -522,7 +504,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer ot an array of bytes to store the UTF-8 result</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -539,12 +521,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the lenght of <TT
-CLASS="PARAMETER"
-><I
->out</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -561,7 +538,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer ot an array of chars in the original encoding</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -578,12 +555,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the lenght of <TT
-CLASS="PARAMETER"
-><I
->in</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -598,21 +570,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte written, or -1 by lack of space, or -2
-if the transcoding failed.
-The value of <TT
-CLASS="PARAMETER"
-><I
->inlen</I
-></TT
-> after return is the number of octets consumed
-as the return value is positive, else unpredictiable.
-The value of <TT
-CLASS="PARAMETER"
-><I
->outlen</I
-></TT
-> after return is the number of ocetes consumed.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -623,7 +581,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20936"
+NAME="AEN21736"
 ></A
 ><H3
 ><A
@@ -647,16 +605,11 @@
 ></TR
 ></TABLE
 ><P
->Take a block of UTF-8 chars in and try to convert it to an other
-encoding.
-Note: a first call designed to produce heading info is called with
-in = NULL. If stateful this should also initialize the encoder state</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20942"
+NAME="AEN21741"
 ></A
 ><P
 ></P
@@ -683,7 +636,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer ot an array of bytes to store the result</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -700,12 +653,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the lenght of <TT
-CLASS="PARAMETER"
-><I
->out</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -722,7 +670,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer ot an array of UTF-8 chars</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -739,12 +687,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the lenght of <TT
-CLASS="PARAMETER"
-><I
->in</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -759,21 +702,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte written, or -1 by lack of space, or -2
-if the transcoding failed.
-The value of <TT
-CLASS="PARAMETER"
-><I
->inlen</I
-></TT
-> after return is the number of octets consumed
-as the return value is positive, else unpredictiable.
-The value of <TT
-CLASS="PARAMETER"
-><I
->outlen</I
-></TT
-> after return is the number of ocetes consumed.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -784,7 +713,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20971"
+NAME="AEN21766"
 ></A
 ><H3
 ><A
@@ -818,7 +747,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20976"
+NAME="AEN21771"
 ></A
 ><H3
 ><A
@@ -844,7 +773,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20981"
+NAME="AEN21776"
 ></A
 ><H3
 ><A
@@ -875,7 +804,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20987"
+NAME="AEN21782"
 ></A
 ><H3
 ><A
@@ -904,7 +833,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20993"
+NAME="AEN21788"
 ></A
 ><H3
 ><A
@@ -934,7 +863,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21000"
+NAME="AEN21795"
 ></A
 ><P
 ></P
@@ -972,7 +901,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21009"
+NAME="AEN21804"
 ></A
 ><H3
 ><A
@@ -1006,7 +935,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21017"
+NAME="AEN21812"
 ></A
 ><P
 ></P
@@ -1033,6 +962,90 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  an xmlCharEncoding value.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the handler or NULL if not found</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN21825"
+></A
+><H3
+><A
+NAME="XMLFINDCHARENCODINGHANDLER"
+></A
+>xmlFindCharEncodingHandler ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> xmlFindCharEncodingHandler
+                                            (const char *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search in the registrered set the handler able to read/write that encoding.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN21832"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
 >  a string describing the char encoding.</TD
 ></TR
 ><TR
@@ -1059,89 +1072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21030"
-></A
-><H3
-><A
-NAME="XMLFINDCHARENCODINGHANDLER"
-></A
->xmlFindCharEncodingHandler ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxml-encoding.html#XMLCHARENCODINGHANDLERPTR"
->xmlCharEncodingHandlerPtr</A
-> xmlFindCharEncodingHandler
-                                            (const char *name);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN21036"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</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"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN21049"
+NAME="AEN21845"
 ></A
 ><H3
 ><A
@@ -1180,7 +1111,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21057"
+NAME="AEN21853"
 ></A
 ><P
 ></P
@@ -1250,7 +1181,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21074"
+NAME="AEN21870"
 ></A
 ><H3
 ><A
@@ -1282,7 +1213,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21081"
+NAME="AEN21877"
 ></A
 ><P
 ></P
@@ -1335,7 +1266,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21094"
+NAME="AEN21890"
 ></A
 ><H3
 ><A
@@ -1362,7 +1293,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21100"
+NAME="AEN21896"
 ></A
 ><P
 ></P
@@ -1415,7 +1346,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21113"
+NAME="AEN21909"
 ></A
 ><H3
 ><A
@@ -1443,7 +1374,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21119"
+NAME="AEN21915"
 ></A
 ><H3
 ><A
@@ -1475,7 +1406,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21126"
+NAME="AEN21922"
 ></A
 ><P
 ></P
@@ -1529,7 +1460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21139"
+NAME="AEN21935"
 ></A
 ><H3
 ><A
@@ -1564,7 +1495,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21147"
+NAME="AEN21943"
 ></A
 ><P
 ></P
@@ -1617,7 +1548,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21160"
+NAME="AEN21956"
 ></A
 ><H3
 ><A
@@ -1649,7 +1580,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21167"
+NAME="AEN21963"
 ></A
 ><P
 ></P
@@ -1720,7 +1651,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21184"
+NAME="AEN21980"
 ></A
 ><H3
 ><A
@@ -1768,7 +1699,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21194"
+NAME="AEN21990"
 ></A
 ><P
 ></P
@@ -1858,7 +1789,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21215"
+NAME="AEN22011"
 ></A
 ><H3
 ><A
@@ -1896,7 +1827,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21224"
+NAME="AEN22020"
 ></A
 ><P
 ></P
@@ -1986,7 +1917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21245"
+NAME="AEN22041"
 ></A
 ><H3
 ><A
@@ -2025,7 +1956,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21254"
+NAME="AEN22050"
 ></A
 ><P
 ></P
@@ -2115,7 +2046,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21275"
+NAME="AEN22071"
 ></A
 ><H3
 ><A
@@ -2145,7 +2076,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21282"
+NAME="AEN22078"
 ></A
 ><P
 ></P
@@ -2198,7 +2129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21295"
+NAME="AEN22091"
 ></A
 ><H3
 ><A
@@ -2229,7 +2160,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21301"
+NAME="AEN22097"
 ></A
 ><P
 ></P
@@ -2356,7 +2287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21330"
+NAME="AEN22126"
 ></A
 ><H3
 ><A
@@ -2387,7 +2318,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21336"
+NAME="AEN22132"
 ></A
 ><P
 ></P
@@ -2514,7 +2445,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21365"
+NAME="AEN22161"
 ></A
 ><H3
 ><A
@@ -2556,7 +2487,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21373"
+NAME="AEN22169"
 ></A
 ><P
 ></P
@@ -2614,7 +2545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21387"
+NAME="AEN22183"
 ></A
 ><H3
 ><A
@@ -2645,7 +2576,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21394"
+NAME="AEN22190"
 ></A
 ><P
 ></P
@@ -2716,7 +2647,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21411"
+NAME="AEN22207"
 ></A
 ><H3
 ><A
@@ -2750,7 +2681,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21419"
+NAME="AEN22215"
 ></A
 ><P
 ></P
@@ -2825,7 +2756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21437"
+NAME="AEN22233"
 ></A
 ><H3
 ><A
@@ -2860,7 +2791,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21445"
+NAME="AEN22241"
 ></A
 ><P
 ></P
@@ -2930,7 +2861,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21462"
+NAME="AEN22258"
 ></A
 ><H3
 ><A
@@ -2964,7 +2895,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21470"
+NAME="AEN22266"
 ></A
 ><P
 ></P
@@ -3035,7 +2966,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21487"
+NAME="AEN22283"
 ></A
 ><H3
 ><A
@@ -3064,26 +2995,13 @@
 ></TR
 ></TABLE
 ><P
-><TT
-CLASS="PARAMETER"
-><I
->start</I
-></TT
->: relative pos of first char
-<TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->:   total number to copy</P
-><P
 >Note:  positions are given in units of UTF-8 chars</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21498"
+NAME="AEN22291"
 ></A
 ><P
 ></P
@@ -3127,7 +3045,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> relative pos of first char</TD
 ></TR
 ><TR
 ><TD
@@ -3144,7 +3062,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>   total number to copy</TD
 ></TR
 ><TR
 ><TD
@@ -3171,7 +3089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21519"
+NAME="AEN22312"
 ></A
 ><H3
 ><A
@@ -3202,7 +3120,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21526"
+NAME="AEN22319"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-entities.html b/doc/html/libxml-entities.html
index 8d48c4a..3a19bf2 100644
--- a/doc/html/libxml-entities.html
+++ b/doc/html/libxml-entities.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7482"
+NAME="AEN7475"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7485"
+NAME="AEN7478"
 ></A
 ><H2
 >Synopsis</H2
@@ -370,7 +370,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7548"
+NAME="AEN7541"
 ></A
 ><H2
 >Description</H2
@@ -380,14 +380,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7551"
+NAME="AEN7544"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7553"
+NAME="AEN7546"
 ></A
 ><H3
 ><A
@@ -420,7 +420,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7558"
+NAME="AEN7551"
 ></A
 ><H3
 ><A
@@ -466,7 +466,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7563"
+NAME="AEN7556"
 ></A
 ><H3
 ><A
@@ -492,7 +492,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7568"
+NAME="AEN7561"
 ></A
 ><H3
 ><A
@@ -518,7 +518,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7573"
+NAME="AEN7566"
 ></A
 ><H3
 ><A
@@ -546,7 +546,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7579"
+NAME="AEN7572"
 ></A
 ><H3
 ><A
@@ -596,7 +596,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7591"
+NAME="AEN7584"
 ></A
 ><P
 ></P
@@ -734,7 +734,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7624"
+NAME="AEN7617"
 ></A
 ><H3
 ><A
@@ -784,7 +784,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7636"
+NAME="AEN7629"
 ></A
 ><P
 ></P
@@ -922,7 +922,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7669"
+NAME="AEN7662"
 ></A
 ><H3
 ><A
@@ -955,7 +955,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7677"
+NAME="AEN7670"
 ></A
 ><P
 ></P
@@ -1008,7 +1008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7690"
+NAME="AEN7683"
 ></A
 ><H3
 ><A
@@ -1047,7 +1047,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7699"
+NAME="AEN7692"
 ></A
 ><P
 ></P
@@ -1117,7 +1117,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7716"
+NAME="AEN7709"
 ></A
 ><H3
 ><A
@@ -1155,7 +1155,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7725"
+NAME="AEN7718"
 ></A
 ><P
 ></P
@@ -1225,7 +1225,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7742"
+NAME="AEN7735"
 ></A
 ><H3
 ><A
@@ -1263,7 +1263,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7751"
+NAME="AEN7744"
 ></A
 ><P
 ></P
@@ -1333,7 +1333,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7768"
+NAME="AEN7761"
 ></A
 ><H3
 ><A
@@ -1377,7 +1377,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7779"
+NAME="AEN7772"
 ></A
 ><P
 ></P
@@ -1447,7 +1447,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7796"
+NAME="AEN7789"
 ></A
 ><H3
 ><A
@@ -1487,7 +1487,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7805"
+NAME="AEN7798"
 ></A
 ><P
 ></P
@@ -1557,7 +1557,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7822"
+NAME="AEN7815"
 ></A
 ><H3
 ><A
@@ -1595,7 +1595,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7831"
+NAME="AEN7824"
 ></A
 ><P
 ></P
@@ -1665,7 +1665,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7848"
+NAME="AEN7841"
 ></A
 ><H3
 ><A
@@ -1695,7 +1695,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7855"
+NAME="AEN7848"
 ></A
 ><P
 ></P
@@ -1731,7 +1731,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7864"
+NAME="AEN7857"
 ></A
 ><H3
 ><A
@@ -1764,7 +1764,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7872"
+NAME="AEN7865"
 ></A
 ><P
 ></P
@@ -1817,7 +1817,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7885"
+NAME="AEN7878"
 ></A
 ><H3
 ><A
@@ -1847,7 +1847,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7892"
+NAME="AEN7885"
 ></A
 ><P
 ></P
@@ -1885,7 +1885,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7901"
+NAME="AEN7894"
 ></A
 ><H3
 ><A
@@ -1919,7 +1919,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7909"
+NAME="AEN7902"
 ></A
 ><P
 ></P
@@ -1974,7 +1974,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7922"
+NAME="AEN7915"
 ></A
 ><H3
 ><A
@@ -2008,7 +2008,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7930"
+NAME="AEN7923"
 ></A
 ><P
 ></P
@@ -2063,7 +2063,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7943"
+NAME="AEN7936"
 ></A
 ><H3
 ><A
diff --git a/doc/html/libxml-htmlparser.html b/doc/html/libxml-htmlparser.html
index 82df3f2..9b315fb 100644
--- a/doc/html/libxml-htmlparser.html
+++ b/doc/html/libxml-htmlparser.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN10243"
+NAME="AEN10190"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN10246"
+NAME="AEN10193"
 ></A
 ><H2
 >Synopsis</H2
@@ -197,33 +197,34 @@
 HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</A
 >;
-<A
+const <A
 HREF="libxml-htmlparser.html#HTMLELEMDESCPTR"
 >htmlElemDescPtr</A
 > <A
 HREF="libxml-htmlparser.html#HTMLTAGLOOKUP"
 >htmlTagLookup</A
->               (const <A
+>         (const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
 > *tag);
-<A
+const <A
 HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</A
 > <A
 HREF="libxml-htmlparser.html#HTMLENTITYLOOKUP"
 >htmlEntityLookup</A
->          (const <A
+>    (const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name);
-<A
+const <A
 HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</A
 > <A
 HREF="libxml-htmlparser.html#HTMLENTITYVALUELOOKUP"
 >htmlEntityValueLookup</A
->     (unsigned int value);
+>
+                                            (unsigned int value);
 int         <A
 HREF="libxml-htmlparser.html#HTMLISAUTOCLOSED"
 >htmlIsAutoClosed</A
@@ -394,7 +395,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10310"
+NAME="AEN10257"
 ></A
 ><H2
 >Description</H2
@@ -404,14 +405,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10313"
+NAME="AEN10260"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10315"
+NAME="AEN10262"
 ></A
 ><H3
 ><A
@@ -437,7 +438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10320"
+NAME="AEN10267"
 ></A
 ><H3
 ><A
@@ -463,7 +464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10325"
+NAME="AEN10272"
 ></A
 ><H3
 ><A
@@ -489,7 +490,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10330"
+NAME="AEN10277"
 ></A
 ><H3
 ><A
@@ -515,7 +516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10335"
+NAME="AEN10282"
 ></A
 ><H3
 ><A
@@ -541,7 +542,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10340"
+NAME="AEN10287"
 ></A
 ><H3
 ><A
@@ -567,7 +568,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10345"
+NAME="AEN10292"
 ></A
 ><H3
 ><A
@@ -593,7 +594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10350"
+NAME="AEN10297"
 ></A
 ><H3
 ><A
@@ -619,7 +620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10355"
+NAME="AEN10302"
 ></A
 ><H3
 ><A
@@ -645,7 +646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10360"
+NAME="AEN10307"
 ></A
 ><H3
 ><A
@@ -681,7 +682,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10365"
+NAME="AEN10312"
 ></A
 ><H3
 ><A
@@ -707,7 +708,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10370"
+NAME="AEN10317"
 ></A
 ><H3
 ><A
@@ -737,7 +738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10375"
+NAME="AEN10322"
 ></A
 ><H3
 ><A
@@ -763,7 +764,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10380"
+NAME="AEN10327"
 ></A
 ><H3
 ><A
@@ -779,10 +780,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
+>const <A
 HREF="libxml-htmlparser.html#HTMLELEMDESCPTR"
 >htmlElemDescPtr</A
-> htmlTagLookup               (const <A
+> htmlTagLookup         (const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
 > *tag);</PRE
@@ -796,7 +797,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10388"
+NAME="AEN10335"
 ></A
 ><P
 ></P
@@ -849,7 +850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10401"
+NAME="AEN10348"
 ></A
 ><H3
 ><A
@@ -865,10 +866,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
+>const <A
 HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</A
-> htmlEntityLookup          (const <A
+> htmlEntityLookup    (const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name);</PRE
@@ -884,7 +885,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10410"
+NAME="AEN10357"
 ></A
 ><P
 ></P
@@ -937,7 +938,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10423"
+NAME="AEN10370"
 ></A
 ><H3
 ><A
@@ -953,10 +954,11 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
+>const <A
 HREF="libxml-htmlparser.html#HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</A
-> htmlEntityValueLookup     (unsigned int value);</PRE
+> htmlEntityValueLookup
+                                            (unsigned int value);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -969,7 +971,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10431"
+NAME="AEN10378"
 ></A
 ><P
 ></P
@@ -1022,7 +1024,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10444"
+NAME="AEN10391"
 ></A
 ><H3
 ><A
@@ -1058,7 +1060,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10452"
+NAME="AEN10399"
 ></A
 ><P
 ></P
@@ -1128,7 +1130,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10469"
+NAME="AEN10416"
 ></A
 ><H3
 ><A
@@ -1169,7 +1171,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10478"
+NAME="AEN10425"
 ></A
 ><P
 ></P
@@ -1256,7 +1258,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10499"
+NAME="AEN10446"
 ></A
 ><H3
 ><A
@@ -1295,7 +1297,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10509"
+NAME="AEN10456"
 ></A
 ><P
 ></P
@@ -1366,7 +1368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10526"
+NAME="AEN10473"
 ></A
 ><H3
 ><A
@@ -1402,7 +1404,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10535"
+NAME="AEN10482"
 ></A
 ><P
 ></P
@@ -1455,7 +1457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10548"
+NAME="AEN10495"
 ></A
 ><H3
 ><A
@@ -1489,7 +1491,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10557"
+NAME="AEN10504"
 ></A
 ><P
 ></P
@@ -1527,7 +1529,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10566"
+NAME="AEN10513"
 ></A
 ><H3
 ><A
@@ -1568,7 +1570,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10575"
+NAME="AEN10522"
 ></A
 ><P
 ></P
@@ -1673,7 +1675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10600"
+NAME="AEN10547"
 ></A
 ><H3
 ><A
@@ -1707,7 +1709,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10608"
+NAME="AEN10555"
 ></A
 ><P
 ></P
@@ -1777,7 +1779,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10625"
+NAME="AEN10572"
 ></A
 ><H3
 ><A
@@ -1816,7 +1818,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10633"
+NAME="AEN10580"
 ></A
 ><P
 ></P
@@ -1921,7 +1923,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10658"
+NAME="AEN10605"
 ></A
 ><H3
 ><A
@@ -1953,7 +1955,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10665"
+NAME="AEN10612"
 ></A
 ><P
 ></P
@@ -2023,7 +2025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10682"
+NAME="AEN10629"
 ></A
 ><H3
 ><A
@@ -2054,7 +2056,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10688"
+NAME="AEN10635"
 ></A
 ><P
 ></P
@@ -2181,7 +2183,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10717"
+NAME="AEN10664"
 ></A
 ><H3
 ><A
@@ -2213,7 +2215,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10723"
+NAME="AEN10670"
 ></A
 ><P
 ></P
@@ -2357,7 +2359,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10756"
+NAME="AEN10703"
 ></A
 ><H3
 ><A
@@ -2387,7 +2389,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10763"
+NAME="AEN10710"
 ></A
 ><P
 ></P
@@ -2440,7 +2442,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10776"
+NAME="AEN10723"
 ></A
 ><H3
 ><A
@@ -2467,7 +2469,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10782"
+NAME="AEN10729"
 ></A
 ><P
 ></P
@@ -2520,7 +2522,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10795"
+NAME="AEN10742"
 ></A
 ><H3
 ><A
@@ -2551,7 +2553,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10802"
+NAME="AEN10749"
 ></A
 ><P
 ></P
@@ -2589,7 +2591,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10811"
+NAME="AEN10758"
 ></A
 ><H3
 ><A
@@ -2643,7 +2645,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10822"
+NAME="AEN10769"
 ></A
 ><P
 ></P
@@ -2781,7 +2783,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10855"
+NAME="AEN10802"
 ></A
 ><H3
 ><A
@@ -2814,7 +2816,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10862"
+NAME="AEN10809"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-htmltree.html b/doc/html/libxml-htmltree.html
index 9995c56..6db31b8 100644
--- a/doc/html/libxml-htmltree.html
+++ b/doc/html/libxml-htmltree.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN10892"
+NAME="AEN10839"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN10895"
+NAME="AEN10842"
 ></A
 ><H2
 >Synopsis</H2
@@ -318,7 +318,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10941"
+NAME="AEN10888"
 ></A
 ><H2
 >Description</H2
@@ -328,14 +328,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10944"
+NAME="AEN10891"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10946"
+NAME="AEN10893"
 ></A
 ><H3
 ><A
@@ -356,15 +356,12 @@
 ></TR
 ></TABLE
 ><P
->Macro, a text node in a HTML document is really implemented
-the same way as a text node in an XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10952"
+NAME="AEN10898"
 ></A
 ><H3
 ><A
@@ -385,15 +382,12 @@
 ></TR
 ></TABLE
 ><P
->Macro, an entity reference in a HTML document is really implemented
-the same way as an entity reference in an XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10958"
+NAME="AEN10903"
 ></A
 ><H3
 ><A
@@ -414,15 +408,12 @@
 ></TR
 ></TABLE
 ><P
->Macro, a comment in a HTML document is really implemented
-the same way as a comment in an XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10964"
+NAME="AEN10908"
 ></A
 ><H3
 ><A
@@ -443,15 +434,12 @@
 ></TR
 ></TABLE
 ><P
->Macro, a preserved node in a HTML document is really implemented
-the same way as a CDATA section in an XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10970"
+NAME="AEN10913"
 ></A
 ><H3
 ><A
@@ -472,15 +460,12 @@
 ></TR
 ></TABLE
 ><P
->Macro, a processing instruction in a HTML document is really implemented
-the same way as a processing instruction in an XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10976"
+NAME="AEN10918"
 ></A
 ><H3
 ><A
@@ -511,13 +496,13 @@
 ></TR
 ></TABLE
 ><P
-></P
+>Creates a new HTML document</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10985"
+NAME="AEN10927"
 ></A
 ><P
 ></P
@@ -587,7 +572,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11002"
+NAME="AEN10944"
 ></A
 ><H3
 ><A
@@ -618,13 +603,24 @@
 ></TR
 ></TABLE
 ><P
-></P
+>Creates a new HTML document without a DTD node if <TT
+CLASS="PARAMETER"
+><I
+>URI</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>ExternalID</I
+></TT
+>
+are NULL</P
 ><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11011"
+NAME="AEN10955"
 ></A
 ><P
 ></P
@@ -694,7 +690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11028"
+NAME="AEN10972"
 ></A
 ><H3
 ><A
@@ -727,7 +723,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11036"
+NAME="AEN10980"
 ></A
 ><P
 ></P
@@ -780,7 +776,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11049"
+NAME="AEN10993"
 ></A
 ><H3
 ><A
@@ -816,7 +812,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11057"
+NAME="AEN11001"
 ></A
 ><P
 ></P
@@ -886,7 +882,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11074"
+NAME="AEN11018"
 ></A
 ><H3
 ><A
@@ -922,7 +918,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11082"
+NAME="AEN11026"
 ></A
 ><P
 ></P
@@ -994,7 +990,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11099"
+NAME="AEN11043"
 ></A
 ><H3
 ><A
@@ -1028,7 +1024,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11107"
+NAME="AEN11051"
 ></A
 ><P
 ></P
@@ -1098,7 +1094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11124"
+NAME="AEN11068"
 ></A
 ><H3
 ><A
@@ -1135,7 +1131,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11132"
+NAME="AEN11076"
 ></A
 ><P
 ></P
@@ -1205,7 +1201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11149"
+NAME="AEN11093"
 ></A
 ><H3
 ><A
@@ -1244,7 +1240,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11158"
+NAME="AEN11102"
 ></A
 ><P
 ></P
@@ -1316,7 +1312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11175"
+NAME="AEN11119"
 ></A
 ><H3
 ><A
@@ -1355,7 +1351,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11184"
+NAME="AEN11128"
 ></A
 ><P
 ></P
@@ -1427,7 +1423,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11201"
+NAME="AEN11145"
 ></A
 ><H3
 ><A
@@ -1469,7 +1465,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11211"
+NAME="AEN11155"
 ></A
 ><P
 ></P
@@ -1590,7 +1586,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11240"
+NAME="AEN11184"
 ></A
 ><H3
 ><A
@@ -1623,7 +1619,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11247"
+NAME="AEN11191"
 ></A
 ><P
 ></P
@@ -1710,7 +1706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11268"
+NAME="AEN11212"
 ></A
 ><H3
 ><A
@@ -1743,7 +1739,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11275"
+NAME="AEN11219"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html
index ccfd657..fd6d698 100644
--- a/doc/html/libxml-nanoftp.html
+++ b/doc/html/libxml-nanoftp.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN15934"
+NAME="AEN16760"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN15937"
+NAME="AEN16763"
 ></A
 ><H2
 >Synopsis</H2
@@ -282,7 +282,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15966"
+NAME="AEN16792"
 ></A
 ><H2
 >Description</H2
@@ -292,14 +292,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15969"
+NAME="AEN16795"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15971"
+NAME="AEN16797"
 ></A
 ><H3
 ><A
@@ -334,14 +334,11 @@
 ></TR
 ></TABLE
 ><P
->A callback for the xmlNanoFTPList command
-Note that only one of year and day:minute are specified</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15978"
+NAME="AEN16803"
 ></A
 ><P
 ></P
@@ -368,7 +365,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  user provided data for the callback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -385,7 +382,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file name (including "-&gt;" when links are shown)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -402,7 +399,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -419,7 +416,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the owner string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -436,7 +433,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the group string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -453,7 +450,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file size</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -470,7 +467,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the link count</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -487,7 +484,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the year</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -504,7 +501,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the month</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -521,7 +518,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the day</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -538,7 +535,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the hour</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -555,7 +552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the minute</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -566,7 +563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16031"
+NAME="AEN16856"
 ></A
 ><H3
 ><A
@@ -589,13 +586,11 @@
 ></TR
 ></TABLE
 ><P
->A callback for the xmlNanoFTPGet command</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16037"
+NAME="AEN16861"
 ></A
 ><P
 ></P
@@ -622,7 +617,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the user provided context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -639,7 +634,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the data received</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -656,7 +651,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> its size in bytes</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -667,7 +662,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16054"
+NAME="AEN16878"
 ></A
 ><H3
 ><A
@@ -697,7 +692,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16060"
+NAME="AEN16884"
 ></A
 ><H3
 ><A
@@ -725,7 +720,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16066"
+NAME="AEN16890"
 ></A
 ><H3
 ><A
@@ -752,7 +747,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16072"
+NAME="AEN16896"
 ></A
 ><P
 ></P
@@ -790,7 +785,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16081"
+NAME="AEN16905"
 ></A
 ><H3
 ><A
@@ -817,7 +812,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16087"
+NAME="AEN16911"
 ></A
 ><P
 ></P
@@ -855,7 +850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16096"
+NAME="AEN16920"
 ></A
 ><H3
 ><A
@@ -883,7 +878,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16102"
+NAME="AEN16926"
 ></A
 ><P
 ></P
@@ -938,7 +933,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16115"
+NAME="AEN16939"
 ></A
 ><H3
 ><A
@@ -965,7 +960,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16121"
+NAME="AEN16945"
 ></A
 ><P
 ></P
@@ -1003,7 +998,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16130"
+NAME="AEN16954"
 ></A
 ><H3
 ><A
@@ -1030,7 +1025,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16136"
+NAME="AEN16960"
 ></A
 ><P
 ></P
@@ -1083,7 +1078,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16149"
+NAME="AEN16973"
 ></A
 ><H3
 ><A
@@ -1110,7 +1105,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16155"
+NAME="AEN16979"
 ></A
 ><P
 ></P
@@ -1163,7 +1158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16168"
+NAME="AEN16992"
 ></A
 ><H3
 ><A
@@ -1190,7 +1185,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16174"
+NAME="AEN16998"
 ></A
 ><P
 ></P
@@ -1243,7 +1238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16187"
+NAME="AEN17011"
 ></A
 ><H3
 ><A
@@ -1273,7 +1268,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16193"
+NAME="AEN17017"
 ></A
 ><P
 ></P
@@ -1311,7 +1306,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16202"
+NAME="AEN17026"
 ></A
 ><H3
 ><A
@@ -1344,7 +1339,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16208"
+NAME="AEN17032"
 ></A
 ><P
 ></P
@@ -1455,7 +1450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16234"
+NAME="AEN17058"
 ></A
 ><H3
 ><A
@@ -1487,7 +1482,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16240"
+NAME="AEN17064"
 ></A
 ><P
 ></P
@@ -1557,7 +1552,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16257"
+NAME="AEN17081"
 ></A
 ><H3
 ><A
@@ -1584,7 +1579,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16263"
+NAME="AEN17087"
 ></A
 ><P
 ></P
@@ -1637,7 +1632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16276"
+NAME="AEN17100"
 ></A
 ><H3
 ><A
@@ -1664,7 +1659,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16282"
+NAME="AEN17106"
 ></A
 ><P
 ></P
@@ -1717,7 +1712,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16295"
+NAME="AEN17119"
 ></A
 ><H3
 ><A
@@ -1745,7 +1740,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16301"
+NAME="AEN17125"
 ></A
 ><P
 ></P
@@ -1815,7 +1810,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16318"
+NAME="AEN17142"
 ></A
 ><H3
 ><A
@@ -1843,7 +1838,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16324"
+NAME="AEN17148"
 ></A
 ><P
 ></P
@@ -1896,7 +1891,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16337"
+NAME="AEN17161"
 ></A
 ><H3
 ><A
@@ -1923,7 +1918,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16343"
+NAME="AEN17167"
 ></A
 ><P
 ></P
@@ -1976,7 +1971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16356"
+NAME="AEN17180"
 ></A
 ><H3
 ><A
@@ -2010,7 +2005,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16363"
+NAME="AEN17187"
 ></A
 ><P
 ></P
@@ -2114,7 +2109,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16388"
+NAME="AEN17212"
 ></A
 ><H3
 ><A
@@ -2142,7 +2137,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16394"
+NAME="AEN17218"
 ></A
 ><P
 ></P
@@ -2212,7 +2207,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16411"
+NAME="AEN17235"
 ></A
 ><H3
 ><A
@@ -2246,7 +2241,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16418"
+NAME="AEN17242"
 ></A
 ><P
 ></P
@@ -2350,7 +2345,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16443"
+NAME="AEN17267"
 ></A
 ><H3
 ><A
@@ -2390,7 +2385,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16451"
+NAME="AEN17275"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html
index 9011ab4..1bd21bb 100644
--- a/doc/html/libxml-nanohttp.html
+++ b/doc/html/libxml-nanohttp.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN15637"
+NAME="AEN16454"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN15640"
+NAME="AEN16457"
 ></A
 ><H2
 >Synopsis</H2
@@ -170,7 +170,8 @@
                                              const char *method,
                                              const char *input,
                                              char **contentType,
-                                             const char *headers);
+                                             const char *headers,
+                                             int ilen);
 void*       <A
 HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR"
 >xmlNanoHTTPMethodRedir</A
@@ -179,7 +180,8 @@
                                              const char *input,
                                              char **contentType,
                                              char **redir,
-                                             const char *headers);
+                                             const char *headers,
+                                             int ilen);
 void*       <A
 HREF="libxml-nanohttp.html#XMLNANOHTTPOPEN"
 >xmlNanoHTTPOpen</A
@@ -221,7 +223,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15656"
+NAME="AEN16473"
 ></A
 ><H2
 >Description</H2
@@ -231,14 +233,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15659"
+NAME="AEN16476"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15661"
+NAME="AEN16478"
 ></A
 ><H3
 ><A
@@ -267,7 +269,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15667"
+NAME="AEN16484"
 ></A
 ><H3
 ><A
@@ -288,12 +290,14 @@
 ></TR
 ></TABLE
 ><P
+>Cleanup the HTTP protocol layer.</P
+><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15672"
+NAME="AEN16490"
 ></A
 ><H3
 ><A
@@ -323,7 +327,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15678"
+NAME="AEN16496"
 ></A
 ><P
 ></P
@@ -350,7 +354,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The proxy URL used to initialize the proxy context</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -361,7 +365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15687"
+NAME="AEN16505"
 ></A
 ><H3
 ><A
@@ -391,7 +395,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15693"
+NAME="AEN16511"
 ></A
 ><P
 ></P
@@ -418,7 +422,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -435,7 +439,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename where the content should be saved</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -452,8 +456,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if available the Content-Type information will be
-returned at that location</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -468,8 +471,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->-1 in case of failure, 0 incase of success. The contentType,
-if provided must be freed by the caller</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -480,7 +482,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15714"
+NAME="AEN16532"
 ></A
 ><H3
 ><A
@@ -500,7 +502,8 @@
                                              const char *method,
                                              const char *input,
                                              char **contentType,
-                                             const char *headers);</PRE
+                                             const char *headers,
+                                             int ilen);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -518,7 +521,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15721"
+NAME="AEN16539"
 ></A
 ><P
 ></P
@@ -545,7 +548,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -562,7 +565,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP method to use</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -579,7 +582,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input string if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -596,7 +599,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the Content-Type information IN and OUT</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -613,7 +616,24 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the extra headers</TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ilen</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -624,7 +644,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15746"
+NAME="AEN16568"
 ></A
 ><H3
 ><A
@@ -645,7 +665,8 @@
                                              const char *input,
                                              char **contentType,
                                              char **redir,
-                                             const char *headers);</PRE
+                                             const char *headers,
+                                             int ilen);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -663,7 +684,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15753"
+NAME="AEN16575"
 ></A
 ><P
 ></P
@@ -690,7 +711,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -707,7 +728,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP method to use</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -724,7 +745,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input string if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -741,7 +762,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the Content-Type information IN and OUT</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -758,7 +779,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the redirected URL OUT</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -775,7 +796,24 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the extra headers</TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ilen</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -786,7 +824,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15782"
+NAME="AEN16608"
 ></A
 ><H3
 ><A
@@ -815,7 +853,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15788"
+NAME="AEN16614"
 ></A
 ><P
 ></P
@@ -842,7 +880,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -859,8 +897,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if available the Content-Type information will be
-returned at that location</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -871,7 +908,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15801"
+NAME="AEN16627"
 ></A
 ><H3
 ><A
@@ -901,7 +938,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15807"
+NAME="AEN16633"
 ></A
 ><P
 ></P
@@ -928,7 +965,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -945,8 +982,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if available the Content-Type information will be
-returned at that location</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -963,7 +999,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> if availble the redirected URL will be returned</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -974,7 +1010,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15824"
+NAME="AEN16650"
 ></A
 ><H3
 ><A
@@ -1001,7 +1037,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15830"
+NAME="AEN16656"
 ></A
 ><P
 ></P
@@ -1028,7 +1064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1043,7 +1079,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the HTTP return code for the request.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1054,7 +1090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15843"
+NAME="AEN16669"
 ></A
 ><H3
 ><A
@@ -1081,7 +1117,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15849"
+NAME="AEN16675"
 ></A
 ><P
 ></P
@@ -1108,7 +1144,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1123,8 +1159,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the stashed value of the WWW-Authenticate or Proxy-Authenticate
-header.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1135,7 +1170,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15862"
+NAME="AEN16688"
 ></A
 ><H3
 ><A
@@ -1175,7 +1210,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15870"
+NAME="AEN16696"
 ></A
 ><P
 ></P
@@ -1202,7 +1237,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1219,7 +1254,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1236,7 +1271,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer length</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1251,8 +1286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte read. 0 is an indication of an end of connection.
--1 indicates a parameter error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1263,7 +1297,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15891"
+NAME="AEN16717"
 ></A
 ><H3
 ><A
@@ -1292,7 +1326,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15897"
+NAME="AEN16723"
 ></A
 ><P
 ></P
@@ -1319,7 +1353,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1336,7 +1370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename where the content should be saved</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1351,7 +1385,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->-1 in case of failure, 0 incase of success.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1362,7 +1396,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15914"
+NAME="AEN16740"
 ></A
 ><H3
 ><A
@@ -1390,7 +1424,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15920"
+NAME="AEN16746"
 ></A
 ><P
 ></P
@@ -1417,7 +1451,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html
index 086b1c0..344c0db 100644
--- a/doc/html/libxml-parser.html
+++ b/doc/html/libxml-parser.html
@@ -1384,19 +1384,12 @@
 ></TR
 ></TABLE
 ><P
->an xmlParserInput is an input flow for the XML processor.
-Each entity parsed is associated an xmlParserInput (except the
-few predefined ones). This is the case both for internal entities
-- in which case the flow is already completely in memory - or
-external entities - in which case we use the buf structure for
-progressive reading and I18N conversions to the internal UTF-8 format.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN346"
+NAME="AEN345"
 ></A
 ><H3
 ><A
@@ -1422,7 +1415,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN351"
+NAME="AEN350"
 ></A
 ><H3
 ><A
@@ -1450,16 +1443,12 @@
 ></TR
 ></TABLE
 ><P
->the parser can be asked to collect Node informations, i.e. at what
-place in the file they were detected. 
-NOTE: This is off by default and not very well tested.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN357"
+NAME="AEN355"
 ></A
 ><H3
 ><A
@@ -1485,7 +1474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN362"
+NAME="AEN360"
 ></A
 ><H3
 ><A
@@ -1515,7 +1504,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN367"
+NAME="AEN365"
 ></A
 ><H3
 ><A
@@ -1541,7 +1530,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN372"
+NAME="AEN370"
 ></A
 ><H3
 ><A
@@ -1580,15 +1569,12 @@
 ></TR
 ></TABLE
 ><P
->The parser is now working also as a state based parser
-The recursive one use the stagte info for entities processing</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN378"
+NAME="AEN375"
 ></A
 ><H3
 ><A
@@ -1609,15 +1595,12 @@
 ></TR
 ></TABLE
 ><P
->Bit in the loadsubset context field to tell to do ID/REFs lookups
-Use it to initialize xmlLoadExtDtdDefaultValue</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN384"
+NAME="AEN380"
 ></A
 ><H3
 ><A
@@ -1638,16 +1621,12 @@
 ></TR
 ></TABLE
 ><P
->Bit in the loadsubset context field to tell to do complete the
-elements attributes lists with the ones defaulted from the DTDs
-Use it to initialize xmlLoadExtDtdDefaultValue</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN390"
+NAME="AEN385"
 ></A
 ><H3
 ><A
@@ -1740,21 +1719,12 @@
 ></TR
 ></TABLE
 ><P
->The parser context.
-NOTE This doesn't completely defines the parser state, the (current ?)
-design of the parser uses recursive function calls since this allow
-and easy mapping from the production rules of the specification
-to the actual code. The drawback is that the actual function call
-also reflect the parser state. However most of the parsing routines
-takes as the only argument the parser context pointer, so migrating
-to a state based parser for progressive parsing shouldn't be too hard.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN396"
+NAME="AEN390"
 ></A
 ><H3
 ><A
@@ -1780,7 +1750,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN401"
+NAME="AEN395"
 ></A
 ><H3
 ><A
@@ -1806,14 +1776,12 @@
 ></TR
 ></TABLE
 ><P
->a SAX Locator.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN407"
+NAME="AEN400"
 ></A
 ><H3
 ><A
@@ -1839,7 +1807,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN412"
+NAME="AEN405"
 ></A
 ><H3
 ><A
@@ -1875,7 +1843,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN420"
+NAME="AEN413"
 ></A
 ><P
 ></P
@@ -1962,7 +1930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN441"
+NAME="AEN434"
 ></A
 ><H3
 ><A
@@ -1999,7 +1967,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN449"
+NAME="AEN442"
 ></A
 ><P
 ></P
@@ -2088,7 +2056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN470"
+NAME="AEN463"
 ></A
 ><H3
 ><A
@@ -2125,7 +2093,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN478"
+NAME="AEN471"
 ></A
 ><P
 ></P
@@ -2214,7 +2182,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN499"
+NAME="AEN492"
 ></A
 ><H3
 ><A
@@ -2246,7 +2214,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN506"
+NAME="AEN499"
 ></A
 ><P
 ></P
@@ -2316,7 +2284,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN523"
+NAME="AEN516"
 ></A
 ><H3
 ><A
@@ -2348,7 +2316,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN530"
+NAME="AEN523"
 ></A
 ><P
 ></P
@@ -2418,7 +2386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN547"
+NAME="AEN540"
 ></A
 ><H3
 ><A
@@ -2460,7 +2428,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN556"
+NAME="AEN549"
 ></A
 ><P
 ></P
@@ -2583,7 +2551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN585"
+NAME="AEN578"
 ></A
 ><H3
 ><A
@@ -2620,7 +2588,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN593"
+NAME="AEN586"
 ></A
 ><P
 ></P
@@ -2709,7 +2677,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN614"
+NAME="AEN607"
 ></A
 ><H3
 ><A
@@ -2752,7 +2720,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN623"
+NAME="AEN616"
 ></A
 ><P
 ></P
@@ -2892,7 +2860,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN656"
+NAME="AEN649"
 ></A
 ><H3
 ><A
@@ -2926,7 +2894,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN663"
+NAME="AEN656"
 ></A
 ><P
 ></P
@@ -3015,7 +2983,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN684"
+NAME="AEN677"
 ></A
 ><H3
 ><A
@@ -3056,7 +3024,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN693"
+NAME="AEN686"
 ></A
 ><P
 ></P
@@ -3162,7 +3130,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN718"
+NAME="AEN711"
 ></A
 ><H3
 ><A
@@ -3191,7 +3159,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN724"
+NAME="AEN717"
 ></A
 ><P
 ></P
@@ -3246,7 +3214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN737"
+NAME="AEN730"
 ></A
 ><H3
 ><A
@@ -3271,7 +3239,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN742"
+NAME="AEN735"
 ></A
 ><P
 ></P
@@ -3309,7 +3277,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN751"
+NAME="AEN744"
 ></A
 ><H3
 ><A
@@ -3334,7 +3302,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN756"
+NAME="AEN749"
 ></A
 ><P
 ></P
@@ -3372,7 +3340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN765"
+NAME="AEN758"
 ></A
 ><H3
 ><A
@@ -3405,7 +3373,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN772"
+NAME="AEN765"
 ></A
 ><P
 ></P
@@ -3477,7 +3445,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN789"
+NAME="AEN782"
 ></A
 ><H3
 ><A
@@ -3506,7 +3474,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN795"
+NAME="AEN788"
 ></A
 ><P
 ></P
@@ -3561,7 +3529,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN808"
+NAME="AEN801"
 ></A
 ><H3
 ><A
@@ -3594,7 +3562,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN815"
+NAME="AEN808"
 ></A
 ><P
 ></P
@@ -3666,7 +3634,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN832"
+NAME="AEN825"
 ></A
 ><H3
 ><A
@@ -3695,7 +3663,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN838"
+NAME="AEN831"
 ></A
 ><P
 ></P
@@ -3750,7 +3718,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN851"
+NAME="AEN844"
 ></A
 ><H3
 ><A
@@ -3780,7 +3748,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN857"
+NAME="AEN850"
 ></A
 ><P
 ></P
@@ -3852,7 +3820,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN874"
+NAME="AEN867"
 ></A
 ><H3
 ><A
@@ -3882,7 +3850,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN880"
+NAME="AEN873"
 ></A
 ><P
 ></P
@@ -3954,7 +3922,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN897"
+NAME="AEN890"
 ></A
 ><H3
 ><A
@@ -3987,7 +3955,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN904"
+NAME="AEN897"
 ></A
 ><P
 ></P
@@ -4059,7 +4027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN921"
+NAME="AEN914"
 ></A
 ><H3
 ><A
@@ -4088,7 +4056,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN927"
+NAME="AEN920"
 ></A
 ><P
 ></P
@@ -4143,7 +4111,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN940"
+NAME="AEN933"
 ></A
 ><H3
 ><A
@@ -4173,7 +4141,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN946"
+NAME="AEN939"
 ></A
 ><P
 ></P
@@ -4245,7 +4213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN963"
+NAME="AEN956"
 ></A
 ><H3
 ><A
@@ -4272,7 +4240,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN968"
+NAME="AEN961"
 ></A
 ><P
 ></P
@@ -4344,7 +4312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN985"
+NAME="AEN978"
 ></A
 ><H3
 ><A
@@ -4371,7 +4339,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN990"
+NAME="AEN983"
 ></A
 ><P
 ></P
@@ -4443,7 +4411,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1007"
+NAME="AEN1000"
 ></A
 ><H3
 ><A
@@ -4470,7 +4438,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1012"
+NAME="AEN1005"
 ></A
 ><P
 ></P
@@ -4542,7 +4510,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1029"
+NAME="AEN1022"
 ></A
 ><H3
 ><A
@@ -4567,7 +4535,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1034"
+NAME="AEN1027"
 ></A
 ><P
 ></P
@@ -4620,7 +4588,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1047"
+NAME="AEN1040"
 ></A
 ><H3
 ><A
@@ -4645,7 +4613,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1052"
+NAME="AEN1045"
 ></A
 ><P
 ></P
@@ -4698,7 +4666,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1065"
+NAME="AEN1058"
 ></A
 ><H3
 ><A
@@ -4723,7 +4691,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1070"
+NAME="AEN1063"
 ></A
 ><P
 ></P
@@ -4776,7 +4744,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1083"
+NAME="AEN1076"
 ></A
 ><H3
 ><A
@@ -4825,15 +4793,12 @@
 ></TR
 ></TABLE
 ><P
->a SAX handler is bunch of callbacks called by the parser when processing
-of the input generate data or structure informations.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1089"
+NAME="AEN1081"
 ></A
 ><H3
 ><A
@@ -4859,7 +4824,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1094"
+NAME="AEN1086"
 ></A
 ><H3
 ><A
@@ -4889,13 +4854,11 @@
 ></TR
 ></TABLE
 ><P
->External entity loaders types</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1102"
+NAME="AEN1093"
 ></A
 ><P
 ></P
@@ -4922,7 +4885,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> The System ID of the resource requested</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4939,7 +4902,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> The Public ID of the resource requested</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4982,7 +4945,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1123"
+NAME="AEN1114"
 ></A
 ><H3
 ><A
@@ -5008,7 +4971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1128"
+NAME="AEN1119"
 ></A
 ><H3
 ><A
@@ -5038,7 +5001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1134"
+NAME="AEN1125"
 ></A
 ><H3
 ><A
@@ -5069,7 +5032,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1140"
+NAME="AEN1131"
 ></A
 ><H3
 ><A
@@ -5101,7 +5064,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1147"
+NAME="AEN1138"
 ></A
 ><P
 ></P
@@ -5172,7 +5135,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1164"
+NAME="AEN1155"
 ></A
 ><H3
 ><A
@@ -5204,7 +5167,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1171"
+NAME="AEN1162"
 ></A
 ><P
 ></P
@@ -5275,7 +5238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1188"
+NAME="AEN1179"
 ></A
 ><H3
 ><A
@@ -5310,7 +5273,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1196"
+NAME="AEN1187"
 ></A
 ><P
 ></P
@@ -5363,7 +5326,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1209"
+NAME="AEN1200"
 ></A
 ><H3
 ><A
@@ -5397,7 +5360,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1217"
+NAME="AEN1208"
 ></A
 ><P
 ></P
@@ -5472,7 +5435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1235"
+NAME="AEN1226"
 ></A
 ><H3
 ><A
@@ -5503,7 +5466,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1242"
+NAME="AEN1233"
 ></A
 ><P
 ></P
@@ -5578,7 +5541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1260"
+NAME="AEN1251"
 ></A
 ><H3
 ><A
@@ -5608,7 +5571,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1267"
+NAME="AEN1258"
 ></A
 ><P
 ></P
@@ -5661,7 +5624,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1280"
+NAME="AEN1271"
 ></A
 ><H3
 ><A
@@ -5696,7 +5659,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1288"
+NAME="AEN1279"
 ></A
 ><P
 ></P
@@ -5783,7 +5746,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1309"
+NAME="AEN1300"
 ></A
 ><H3
 ><A
@@ -5820,7 +5783,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1318"
+NAME="AEN1309"
 ></A
 ><P
 ></P
@@ -5890,7 +5853,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1335"
+NAME="AEN1326"
 ></A
 ><H3
 ><A
@@ -5927,7 +5890,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1344"
+NAME="AEN1335"
 ></A
 ><P
 ></P
@@ -5997,7 +5960,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1361"
+NAME="AEN1352"
 ></A
 ><H3
 ><A
@@ -6034,7 +5997,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1370"
+NAME="AEN1361"
 ></A
 ><P
 ></P
@@ -6104,7 +6067,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1387"
+NAME="AEN1378"
 ></A
 ><H3
 ><A
@@ -6138,7 +6101,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1395"
+NAME="AEN1386"
 ></A
 ><P
 ></P
@@ -6208,7 +6171,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1412"
+NAME="AEN1403"
 ></A
 ><H3
 ><A
@@ -6243,7 +6206,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1420"
+NAME="AEN1411"
 ></A
 ><P
 ></P
@@ -6330,7 +6293,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1441"
+NAME="AEN1432"
 ></A
 ><H3
 ><A
@@ -6364,7 +6327,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1449"
+NAME="AEN1440"
 ></A
 ><P
 ></P
@@ -6434,7 +6397,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1466"
+NAME="AEN1457"
 ></A
 ><H3
 ><A
@@ -6469,7 +6432,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1474"
+NAME="AEN1465"
 ></A
 ><P
 ></P
@@ -6556,7 +6519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1495"
+NAME="AEN1486"
 ></A
 ><H3
 ><A
@@ -6594,7 +6557,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1504"
+NAME="AEN1495"
 ></A
 ><P
 ></P
@@ -6664,7 +6627,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1521"
+NAME="AEN1512"
 ></A
 ><H3
 ><A
@@ -6694,7 +6657,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1528"
+NAME="AEN1519"
 ></A
 ><P
 ></P
@@ -6747,7 +6710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1541"
+NAME="AEN1532"
 ></A
 ><H3
 ><A
@@ -6786,7 +6749,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1550"
+NAME="AEN1541"
 ></A
 ><P
 ></P
@@ -6856,7 +6819,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1567"
+NAME="AEN1558"
 ></A
 ><H3
 ><A
@@ -6900,7 +6863,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1577"
+NAME="AEN1568"
 ></A
 ><P
 ></P
@@ -6998,7 +6961,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1600"
+NAME="AEN1591"
 ></A
 ><H3
 ><A
@@ -7031,7 +6994,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1608"
+NAME="AEN1599"
 ></A
 ><P
 ></P
@@ -7084,7 +7047,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1621"
+NAME="AEN1612"
 ></A
 ><H3
 ><A
@@ -7115,7 +7078,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1628"
+NAME="AEN1619"
 ></A
 ><P
 ></P
@@ -7185,7 +7148,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1645"
+NAME="AEN1636"
 ></A
 ><H3
 ><A
@@ -7216,7 +7179,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1652"
+NAME="AEN1643"
 ></A
 ><P
 ></P
@@ -7269,7 +7232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1665"
+NAME="AEN1656"
 ></A
 ><H3
 ><A
@@ -7304,7 +7267,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1672"
+NAME="AEN1663"
 ></A
 ><P
 ></P
@@ -7357,7 +7320,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1685"
+NAME="AEN1676"
 ></A
 ><H3
 ><A
@@ -7411,7 +7374,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1695"
+NAME="AEN1686"
 ></A
 ><P
 ></P
@@ -7464,7 +7427,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1708"
+NAME="AEN1699"
 ></A
 ><H3
 ><A
@@ -7494,7 +7457,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1715"
+NAME="AEN1706"
 ></A
 ><P
 ></P
@@ -7532,7 +7495,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1724"
+NAME="AEN1715"
 ></A
 ><H3
 ><A
@@ -7559,7 +7522,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1730"
+NAME="AEN1721"
 ></A
 ><P
 ></P
@@ -7612,7 +7575,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1743"
+NAME="AEN1734"
 ></A
 ><H3
 ><A
@@ -7646,7 +7609,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1751"
+NAME="AEN1742"
 ></A
 ><P
 ></P
@@ -7699,7 +7662,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1764"
+NAME="AEN1755"
 ></A
 ><H3
 ><A
@@ -7731,7 +7694,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1771"
+NAME="AEN1762"
 ></A
 ><P
 ></P
@@ -7801,7 +7764,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1788"
+NAME="AEN1779"
 ></A
 ><H3
 ><A
@@ -7833,7 +7796,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1795"
+NAME="AEN1786"
 ></A
 ><P
 ></P
@@ -7886,7 +7849,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1808"
+NAME="AEN1799"
 ></A
 ><H3
 ><A
@@ -7921,7 +7884,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1817"
+NAME="AEN1808"
 ></A
 ><P
 ></P
@@ -7975,7 +7938,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1830"
+NAME="AEN1821"
 ></A
 ><H3
 ><A
@@ -8009,7 +7972,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1838"
+NAME="AEN1829"
 ></A
 ><P
 ></P
@@ -8063,7 +8026,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1851"
+NAME="AEN1842"
 ></A
 ><H3
 ><A
@@ -8103,7 +8066,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1860"
+NAME="AEN1851"
 ></A
 ><P
 ></P
@@ -8191,7 +8154,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1881"
+NAME="AEN1872"
 ></A
 ><H3
 ><A
@@ -8224,7 +8187,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1888"
+NAME="AEN1879"
 ></A
 ><P
 ></P
@@ -8311,7 +8274,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1909"
+NAME="AEN1900"
 ></A
 ><H3
 ><A
@@ -8345,7 +8308,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1916"
+NAME="AEN1907"
 ></A
 ><P
 ></P
@@ -8449,7 +8412,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1941"
+NAME="AEN1932"
 ></A
 ><H3
 ><A
@@ -8487,7 +8450,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1949"
+NAME="AEN1940"
 ></A
 ><P
 ></P
@@ -8592,7 +8555,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1974"
+NAME="AEN1965"
 ></A
 ><H3
 ><A
@@ -8630,7 +8593,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN1982"
+NAME="AEN1973"
 ></A
 ><P
 ></P
@@ -8718,7 +8681,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2003"
+NAME="AEN1994"
 ></A
 ><H3
 ><A
@@ -8758,7 +8721,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2013"
+NAME="AEN2004"
 ></A
 ><P
 ></P
@@ -8828,7 +8791,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2030"
+NAME="AEN2021"
 ></A
 ><H3
 ><A
@@ -8862,7 +8825,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2039"
+NAME="AEN2030"
 ></A
 ><P
 ></P
@@ -8915,7 +8878,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2052"
+NAME="AEN2043"
 ></A
 ><H3
 ><A
@@ -8952,7 +8915,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2061"
+NAME="AEN2052"
 ></A
 ><P
 ></P
@@ -9022,7 +8985,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2078"
+NAME="AEN2069"
 ></A
 ><H3
 ><A
@@ -9063,7 +9026,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2088"
+NAME="AEN2079"
 ></A
 ><P
 ></P
@@ -9150,7 +9113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2109"
+NAME="AEN2100"
 ></A
 ><H3
 ><A
@@ -9191,7 +9154,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2119"
+NAME="AEN2110"
 ></A
 ><P
 ></P
@@ -9284,7 +9247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2141"
+NAME="AEN2132"
 ></A
 ><H3
 ><A
@@ -9333,7 +9296,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2152"
+NAME="AEN2143"
 ></A
 ><P
 ></P
@@ -9472,7 +9435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2185"
+NAME="AEN2176"
 ></A
 ><H3
 ><A
@@ -9524,7 +9487,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2197"
+NAME="AEN2188"
 ></A
 ><P
 ></P
@@ -9680,7 +9643,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2234"
+NAME="AEN2225"
 ></A
 ><H3
 ><A
@@ -9726,7 +9689,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2245"
+NAME="AEN2236"
 ></A
 ><P
 ></P
@@ -9831,7 +9794,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2270"
+NAME="AEN2261"
 ></A
 ><H3
 ><A
@@ -9859,7 +9822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2276"
+NAME="AEN2267"
 ></A
 ><H3
 ><A
@@ -9887,7 +9850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2282"
+NAME="AEN2273"
 ></A
 ><H3
 ><A
@@ -9917,7 +9880,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2289"
+NAME="AEN2280"
 ></A
 ><P
 ></P
@@ -9955,7 +9918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2298"
+NAME="AEN2289"
 ></A
 ><H3
 ><A
@@ -9985,7 +9948,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2305"
+NAME="AEN2296"
 ></A
 ><P
 ></P
@@ -10023,7 +9986,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2314"
+NAME="AEN2305"
 ></A
 ><H3
 ><A
@@ -10054,7 +10017,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2321"
+NAME="AEN2312"
 ></A
 ><P
 ></P
@@ -10092,7 +10055,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2330"
+NAME="AEN2321"
 ></A
 ><H3
 ><A
@@ -10129,7 +10092,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2338"
+NAME="AEN2329"
 ></A
 ><P
 ></P
@@ -10201,7 +10164,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2355"
+NAME="AEN2346"
 ></A
 ><H3
 ><A
@@ -10234,7 +10197,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2363"
+NAME="AEN2354"
 ></A
 ><P
 ></P
@@ -10287,7 +10250,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2376"
+NAME="AEN2367"
 ></A
 ><H3
 ><A
@@ -10309,11 +10272,23 @@
 ></TR
 ></TABLE
 ><P
+>Copy at most *<TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+> feature names into the <TT
+CLASS="PARAMETER"
+><I
+>result</I
+></TT
+> array</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2381"
+NAME="AEN2375"
 ></A
 ><P
 ></P
@@ -10340,7 +10315,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the features name array (input/output)</TD
 ></TR
 ><TR
 ><TD
@@ -10357,7 +10332,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an array of string to be filled with the features name.</TD
 ></TR
 ><TR
 ><TD
@@ -10372,7 +10347,9 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 in case or error, or the total number of features,
+len is updated with the number of strings copied,
+strings must not be deallocated</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10383,7 +10360,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2398"
+NAME="AEN2392"
 ></A
 ><H3
 ><A
@@ -10409,11 +10386,13 @@
 ></TR
 ></TABLE
 ><P
+>Read the current value of one feature of this parser instance</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2404"
+NAME="AEN2399"
 ></A
 ><P
 ></P
@@ -10440,7 +10419,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML/HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10457,7 +10436,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the feature name</TD
 ></TR
 ><TR
 ><TD
@@ -10474,7 +10453,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  location to store the result</TD
 ></TR
 ><TR
 ><TD
@@ -10489,7 +10468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 in case or error, 0 otherwise</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10500,7 +10479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2425"
+NAME="AEN2420"
 ></A
 ><H3
 ><A
@@ -10526,11 +10505,13 @@
 ></TR
 ></TABLE
 ><P
+>Change the current value of one feature of this parser instance</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2431"
+NAME="AEN2427"
 ></A
 ><P
 ></P
@@ -10557,7 +10538,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML/HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10574,7 +10555,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the feature name</TD
 ></TR
 ><TR
 ><TD
@@ -10591,7 +10572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the location of the new value</TD
 ></TR
 ><TR
 ><TD
@@ -10606,7 +10587,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 in case or error, 0 otherwise</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10617,7 +10598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2452"
+NAME="AEN2448"
 ></A
 ><H3
 ><A
@@ -10667,7 +10648,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2462"
+NAME="AEN2458"
 ></A
 ><P
 ></P
@@ -10788,7 +10769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2491"
+NAME="AEN2487"
 ></A
 ><H3
 ><A
@@ -10821,7 +10802,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2498"
+NAME="AEN2494"
 ></A
 ><P
 ></P
@@ -10925,7 +10906,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2523"
+NAME="AEN2519"
 ></A
 ><H3
 ><A
@@ -10973,7 +10954,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2534"
+NAME="AEN2530"
 ></A
 ><P
 ></P
@@ -11111,7 +11092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2567"
+NAME="AEN2563"
 ></A
 ><H3
 ><A
@@ -11158,7 +11139,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2578"
+NAME="AEN2574"
 ></A
 ><P
 ></P
@@ -11245,7 +11226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2599"
+NAME="AEN2595"
 ></A
 ><H3
 ><A
@@ -11283,7 +11264,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2608"
+NAME="AEN2604"
 ></A
 ><P
 ></P
@@ -11353,7 +11334,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2625"
+NAME="AEN2621"
 ></A
 ><H3
 ><A
@@ -11383,7 +11364,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2632"
+NAME="AEN2628"
 ></A
 ><P
 ></P
@@ -11421,7 +11402,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2641"
+NAME="AEN2637"
 ></A
 ><H3
 ><A
@@ -11452,7 +11433,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2648"
+NAME="AEN2644"
 ></A
 ><P
 ></P
@@ -11490,7 +11471,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2657"
+NAME="AEN2653"
 ></A
 ><H3
 ><A
@@ -11528,7 +11509,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2666"
+NAME="AEN2662"
 ></A
 ><P
 ></P
@@ -11598,7 +11579,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2683"
+NAME="AEN2679"
 ></A
 ><H3
 ><A
@@ -11632,7 +11613,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2691"
+NAME="AEN2687"
 ></A
 ><P
 ></P
@@ -11687,7 +11668,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2704"
+NAME="AEN2700"
 ></A
 ><H3
 ><A
@@ -11711,11 +11692,13 @@
 ></TR
 ></TABLE
 ><P
+>Changes the defaultexternal entity resolver function for the application</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2710"
+NAME="AEN2707"
 ></A
 ><P
 ></P
@@ -11742,7 +11725,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new entity resolver function</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11753,7 +11736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2719"
+NAME="AEN2716"
 ></A
 ><H3
 ><A
@@ -11778,11 +11761,13 @@
 ></TR
 ></TABLE
 ><P
+>Get the default external entity resolver function for the application</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2725"
+NAME="AEN2723"
 ></A
 ><P
 ></P
@@ -11807,7 +11792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlExternalEntityLoader function pointer</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11818,7 +11803,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2734"
+NAME="AEN2732"
 ></A
 ><H3
 ><A
@@ -11847,11 +11832,15 @@
 ></TR
 ></TABLE
 ><P
+>Load an external entity, note that the use of this function for
+unparsed entities may generate problems
+TODO: a more generic External entitiy API must be designed</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2741"
+NAME="AEN2740"
 ></A
 ><P
 ></P
@@ -11878,7 +11867,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URL for the entity to load</TD
 ></TR
 ><TR
 ><TD
@@ -11895,7 +11884,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the System ID for the entity to load</TD
 ></TR
 ><TR
 ><TD
@@ -11927,7 +11916,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlParserInputPtr or NULL</TD
 ></TR
 ></TBODY
 ></TABLE
diff --git a/doc/html/libxml-parserinternals.html b/doc/html/libxml-parserinternals.html
index 53dae77..770810a 100644
--- a/doc/html/libxml-parserinternals.html
+++ b/doc/html/libxml-parserinternals.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN18000"
+NAME="AEN18854"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN18003"
+NAME="AEN18857"
 ></A
 ><H2
 >Synopsis</H2
@@ -1131,7 +1131,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN18278"
+NAME="AEN19132"
 ></A
 ><H2
 >Description</H2
@@ -1141,14 +1141,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN18281"
+NAME="AEN19135"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18283"
+NAME="AEN19137"
 ></A
 ><H3
 ><A
@@ -1169,15 +1169,12 @@
 ></TR
 ></TABLE
 ><P
->Identifiers can be longer, but this will be more costly
-at runtime.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18289"
+NAME="AEN19142"
 ></A
 ><H3
 ><A
@@ -1198,15 +1195,12 @@
 ></TR
 ></TABLE
 ><P
->The parser tries to always have that amount of input ready
-one of the point is providing context when reporting errors</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18295"
+NAME="AEN19147"
 ></A
 ><H3
 ><A
@@ -1227,44 +1221,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[2] Char ::= <GTKDOCLINK
-HREF="X9"
->x9</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XA"
->xA</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XD"
->xD</GTKDOCLINK
-> | [<GTKDOCLINK
-HREF="X20-"
->x20-</GTKDOCLINK
-><GTKDOCLINK
-HREF="XD7FF"
->xD7FF</GTKDOCLINK
->] | [<GTKDOCLINK
-HREF="XE000-"
->xE000-</GTKDOCLINK
-><GTKDOCLINK
-HREF="XFFFD"
->xFFFD</GTKDOCLINK
->]
-| [<GTKDOCLINK
-HREF="X10000-"
->x10000-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X10FFFF"
->x10FFFF</GTKDOCLINK
->]
-any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18311"
+NAME="AEN19152"
 ></A
 ><P
 ></P
@@ -1291,7 +1252,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1302,7 +1263,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18320"
+NAME="AEN19161"
 ></A
 ><H3
 ><A
@@ -1323,27 +1284,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[3] S ::= (<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X9"
->x9</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XD"
->xD</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XA"
->xA</GTKDOCLINK
->)+</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18331"
+NAME="AEN19166"
 ></A
 ><P
 ></P
@@ -1370,7 +1315,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1381,7 +1326,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18340"
+NAME="AEN19175"
 ></A
 ><H3
 ><A
@@ -1402,15 +1347,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[85] BaseChar ::= ... long list see REC ...</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18347"
+NAME="AEN19180"
 ></A
 ><P
 ></P
@@ -1437,7 +1378,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1448,7 +1389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18356"
+NAME="AEN19189"
 ></A
 ><H3
 ><A
@@ -1469,15 +1410,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[88] Digit ::= ... long list see REC ...</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18363"
+NAME="AEN19194"
 ></A
 ><P
 ></P
@@ -1504,7 +1441,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1515,7 +1452,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18372"
+NAME="AEN19203"
 ></A
 ><H3
 ><A
@@ -1536,15 +1473,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[87] CombiningChar ::= ... long list see REC ...</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18379"
+NAME="AEN19208"
 ></A
 ><P
 ></P
@@ -1571,7 +1504,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1582,7 +1515,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18388"
+NAME="AEN19217"
 ></A
 ><H3
 ><A
@@ -1603,59 +1536,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[89] Extender ::= <GTKDOCLINK
-HREF="X00B7"
->x00B7</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X02D0"
->x02D0</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X02D1"
->x02D1</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X0387"
->x0387</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X0640"
->x0640</GTKDOCLINK
-> |
-<GTKDOCLINK
-HREF="X0E46"
->x0E46</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X0EC6"
->x0EC6</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="X3005"
->x3005</GTKDOCLINK
-> | [<GTKDOCLINK
-HREF="X3031-"
->x3031-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X3035"
->x3035</GTKDOCLINK
->] |
-[<GTKDOCLINK
-HREF="X309D-"
->x309D-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X309E"
->x309E</GTKDOCLINK
->] | [<GTKDOCLINK
-HREF="X30FC-"
->x30FC-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X30FE"
->x30FE</GTKDOCLINK
->]</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18409"
+NAME="AEN19222"
 ></A
 ><P
 ></P
@@ -1682,7 +1567,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1693,7 +1578,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18418"
+NAME="AEN19231"
 ></A
 ><H3
 ><A
@@ -1714,30 +1599,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[86] Ideographic ::= [<GTKDOCLINK
-HREF="X4E00-"
->x4E00-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X9FA5"
->x9FA5</GTKDOCLINK
->] | <GTKDOCLINK
-HREF="X3007"
->x3007</GTKDOCLINK
-> | [<GTKDOCLINK
-HREF="X3021-"
->x3021-</GTKDOCLINK
-><GTKDOCLINK
-HREF="X3029"
->x3029</GTKDOCLINK
->]</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18430"
+NAME="AEN19236"
 ></A
 ><P
 ></P
@@ -1764,7 +1630,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1775,7 +1641,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18439"
+NAME="AEN19245"
 ></A
 ><H3
 ><A
@@ -1796,15 +1662,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[84] Letter ::= BaseChar | Ideographic</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18446"
+NAME="AEN19250"
 ></A
 ><P
 ></P
@@ -1831,7 +1693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1842,7 +1704,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18455"
+NAME="AEN19259"
 ></A
 ><H3
 ><A
@@ -1863,24 +1725,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check the following production in the XML spec</P
-><P
->[13] PubidChar ::= <GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XD"
->xD</GTKDOCLINK
-> | <GTKDOCLINK
-HREF="XA"
->xA</GTKDOCLINK
-> | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18465"
+NAME="AEN19264"
 ></A
 ><P
 ></P
@@ -1907,7 +1756,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an UNICODE value (int)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1918,7 +1767,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18474"
+NAME="AEN19273"
 ></A
 ><H3
 ><A
@@ -1939,13 +1788,11 @@
 ></TR
 ></TABLE
 ><P
->Skips the end of line chars</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18480"
+NAME="AEN19278"
 ></A
 ><P
 ></P
@@ -1972,7 +1819,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  and UTF8 string pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1983,7 +1830,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18489"
+NAME="AEN19287"
 ></A
 ><H3
 ><A
@@ -2004,13 +1851,11 @@
 ></TR
 ></TABLE
 ><P
->Skips to the next '&gt;' char</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18495"
+NAME="AEN19292"
 ></A
 ><P
 ></P
@@ -2037,7 +1882,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  and UTF8 string pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2048,7 +1893,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18504"
+NAME="AEN19301"
 ></A
 ><H3
 ><A
@@ -2069,13 +1914,11 @@
 ></TR
 ></TABLE
 ><P
->Skips to the next '&lt;' char</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18510"
+NAME="AEN19306"
 ></A
 ><P
 ></P
@@ -2102,7 +1945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  and UTF8 string pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2113,7 +1956,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18519"
+NAME="AEN19315"
 ></A
 ><H3
 ><A
@@ -2155,7 +1998,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18529"
+NAME="AEN19325"
 ></A
 ><P
 ></P
@@ -2208,7 +2051,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18542"
+NAME="AEN19338"
 ></A
 ><H3
 ><A
@@ -2252,7 +2095,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18553"
+NAME="AEN19349"
 ></A
 ><P
 ></P
@@ -2305,7 +2148,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18566"
+NAME="AEN19362"
 ></A
 ><H3
 ><A
@@ -2342,7 +2185,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18575"
+NAME="AEN19371"
 ></A
 ><P
 ></P
@@ -2395,7 +2238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18588"
+NAME="AEN19384"
 ></A
 ><H3
 ><A
@@ -2423,7 +2266,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18594"
+NAME="AEN19390"
 ></A
 ><P
 ></P
@@ -2476,7 +2319,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18607"
+NAME="AEN19403"
 ></A
 ><H3
 ><A
@@ -2504,7 +2347,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18613"
+NAME="AEN19409"
 ></A
 ><P
 ></P
@@ -2557,7 +2400,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18626"
+NAME="AEN19422"
 ></A
 ><H3
 ><A
@@ -2600,7 +2443,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18637"
+NAME="AEN19433"
 ></A
 ><P
 ></P
@@ -2653,7 +2496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18650"
+NAME="AEN19446"
 ></A
 ><H3
 ><A
@@ -2681,7 +2524,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18656"
+NAME="AEN19452"
 ></A
 ><P
 ></P
@@ -2734,7 +2577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18669"
+NAME="AEN19465"
 ></A
 ><H3
 ><A
@@ -2806,7 +2649,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18689"
+NAME="AEN19485"
 ></A
 ><P
 ></P
@@ -2859,7 +2702,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18702"
+NAME="AEN19498"
 ></A
 ><H3
 ><A
@@ -2920,7 +2763,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18718"
+NAME="AEN19514"
 ></A
 ><P
 ></P
@@ -2973,7 +2816,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18731"
+NAME="AEN19527"
 ></A
 ><H3
 ><A
@@ -3006,7 +2849,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18739"
+NAME="AEN19535"
 ></A
 ><P
 ></P
@@ -3059,7 +2902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18752"
+NAME="AEN19548"
 ></A
 ><H3
 ><A
@@ -3091,7 +2934,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18759"
+NAME="AEN19555"
 ></A
 ><P
 ></P
@@ -3144,7 +2987,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18772"
+NAME="AEN19568"
 ></A
 ><H3
 ><A
@@ -3175,7 +3018,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18779"
+NAME="AEN19575"
 ></A
 ><P
 ></P
@@ -3245,7 +3088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18796"
+NAME="AEN19592"
 ></A
 ><H3
 ><A
@@ -3275,7 +3118,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18803"
+NAME="AEN19599"
 ></A
 ><P
 ></P
@@ -3311,7 +3154,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18812"
+NAME="AEN19608"
 ></A
 ><H3
 ><A
@@ -3354,7 +3197,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18822"
+NAME="AEN19618"
 ></A
 ><P
 ></P
@@ -3441,7 +3284,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18843"
+NAME="AEN19639"
 ></A
 ><H3
 ><A
@@ -3476,7 +3319,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18851"
+NAME="AEN19647"
 ></A
 ><P
 ></P
@@ -3546,7 +3389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18868"
+NAME="AEN19664"
 ></A
 ><H3
 ><A
@@ -3581,7 +3424,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18876"
+NAME="AEN19672"
 ></A
 ><P
 ></P
@@ -3651,7 +3494,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18893"
+NAME="AEN19689"
 ></A
 ><H3
 ><A
@@ -3682,7 +3525,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18900"
+NAME="AEN19696"
 ></A
 ><P
 ></P
@@ -3720,7 +3563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18909"
+NAME="AEN19705"
 ></A
 ><H3
 ><A
@@ -3757,7 +3600,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18918"
+NAME="AEN19714"
 ></A
 ><P
 ></P
@@ -3812,7 +3655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18931"
+NAME="AEN19727"
 ></A
 ><H3
 ><A
@@ -3849,7 +3692,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18940"
+NAME="AEN19736"
 ></A
 ><P
 ></P
@@ -3919,7 +3762,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18957"
+NAME="AEN19753"
 ></A
 ><H3
 ><A
@@ -3956,7 +3799,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18966"
+NAME="AEN19762"
 ></A
 ><P
 ></P
@@ -4026,7 +3869,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18983"
+NAME="AEN19779"
 ></A
 ><H3
 ><A
@@ -4061,7 +3904,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN18991"
+NAME="AEN19787"
 ></A
 ><P
 ></P
@@ -4116,7 +3959,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19004"
+NAME="AEN19800"
 ></A
 ><H3
 ><A
@@ -4150,7 +3993,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19012"
+NAME="AEN19808"
 ></A
 ><P
 ></P
@@ -4203,7 +4046,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19025"
+NAME="AEN19821"
 ></A
 ><H3
 ><A
@@ -4233,7 +4076,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19032"
+NAME="AEN19828"
 ></A
 ><P
 ></P
@@ -4271,7 +4114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19041"
+NAME="AEN19837"
 ></A
 ><H3
 ><A
@@ -4305,7 +4148,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19049"
+NAME="AEN19845"
 ></A
 ><P
 ></P
@@ -4375,7 +4218,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19066"
+NAME="AEN19862"
 ></A
 ><H3
 ><A
@@ -4408,7 +4251,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19074"
+NAME="AEN19870"
 ></A
 ><P
 ></P
@@ -4461,7 +4304,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19087"
+NAME="AEN19883"
 ></A
 ><H3
 ><A
@@ -4508,7 +4351,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19100"
+NAME="AEN19896"
 ></A
 ><P
 ></P
@@ -4596,7 +4439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19121"
+NAME="AEN19917"
 ></A
 ><H3
 ><A
@@ -4637,7 +4480,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19132"
+NAME="AEN19928"
 ></A
 ><P
 ></P
@@ -4690,7 +4533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19145"
+NAME="AEN19941"
 ></A
 ><H3
 ><A
@@ -4736,7 +4579,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19158"
+NAME="AEN19954"
 ></A
 ><P
 ></P
@@ -4807,7 +4650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19175"
+NAME="AEN19971"
 ></A
 ><H3
 ><A
@@ -4847,7 +4690,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19186"
+NAME="AEN19982"
 ></A
 ><P
 ></P
@@ -4900,7 +4743,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19199"
+NAME="AEN19995"
 ></A
 ><H3
 ><A
@@ -4935,7 +4778,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19208"
+NAME="AEN20004"
 ></A
 ><P
 ></P
@@ -4988,7 +4831,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19221"
+NAME="AEN20017"
 ></A
 ><H3
 ><A
@@ -5026,7 +4869,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19231"
+NAME="AEN20027"
 ></A
 ><P
 ></P
@@ -5064,7 +4907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19240"
+NAME="AEN20036"
 ></A
 ><H3
 ><A
@@ -5108,7 +4951,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19252"
+NAME="AEN20048"
 ></A
 ><P
 ></P
@@ -5161,7 +5004,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19265"
+NAME="AEN20061"
 ></A
 ><H3
 ><A
@@ -5201,7 +5044,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19276"
+NAME="AEN20072"
 ></A
 ><P
 ></P
@@ -5254,7 +5097,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19289"
+NAME="AEN20085"
 ></A
 ><H3
 ><A
@@ -5291,7 +5134,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19299"
+NAME="AEN20095"
 ></A
 ><P
 ></P
@@ -5344,7 +5187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19312"
+NAME="AEN20108"
 ></A
 ><H3
 ><A
@@ -5384,7 +5227,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19322"
+NAME="AEN20118"
 ></A
 ><P
 ></P
@@ -5454,7 +5297,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19339"
+NAME="AEN20135"
 ></A
 ><H3
 ><A
@@ -5544,7 +5387,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19360"
+NAME="AEN20156"
 ></A
 ><P
 ></P
@@ -5597,7 +5440,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19373"
+NAME="AEN20169"
 ></A
 ><H3
 ><A
@@ -5632,7 +5475,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19382"
+NAME="AEN20178"
 ></A
 ><P
 ></P
@@ -5685,7 +5528,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19395"
+NAME="AEN20191"
 ></A
 ><H3
 ><A
@@ -5720,7 +5563,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19404"
+NAME="AEN20200"
 ></A
 ><P
 ></P
@@ -5773,7 +5616,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19417"
+NAME="AEN20213"
 ></A
 ><H3
 ><A
@@ -5812,7 +5655,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19426"
+NAME="AEN20222"
 ></A
 ><P
 ></P
@@ -5867,7 +5710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19439"
+NAME="AEN20235"
 ></A
 ><H3
 ><A
@@ -5913,7 +5756,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19451"
+NAME="AEN20247"
 ></A
 ><P
 ></P
@@ -6003,7 +5846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19472"
+NAME="AEN20268"
 ></A
 ><H3
 ><A
@@ -6037,7 +5880,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19480"
+NAME="AEN20276"
 ></A
 ><P
 ></P
@@ -6075,7 +5918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19489"
+NAME="AEN20285"
 ></A
 ><H3
 ><A
@@ -6110,7 +5953,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19498"
+NAME="AEN20294"
 ></A
 ><P
 ></P
@@ -6163,7 +6006,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19511"
+NAME="AEN20307"
 ></A
 ><H3
 ><A
@@ -6197,7 +6040,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19520"
+NAME="AEN20316"
 ></A
 ><P
 ></P
@@ -6235,7 +6078,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19529"
+NAME="AEN20325"
 ></A
 ><H3
 ><A
@@ -6277,7 +6120,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19540"
+NAME="AEN20336"
 ></A
 ><P
 ></P
@@ -6315,7 +6158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19549"
+NAME="AEN20345"
 ></A
 ><H3
 ><A
@@ -6360,7 +6203,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19563"
+NAME="AEN20359"
 ></A
 ><P
 ></P
@@ -6398,7 +6241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19572"
+NAME="AEN20368"
 ></A
 ><H3
 ><A
@@ -6471,7 +6314,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19592"
+NAME="AEN20388"
 ></A
 ><P
 ></P
@@ -6542,7 +6385,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19609"
+NAME="AEN20405"
 ></A
 ><H3
 ><A
@@ -6583,7 +6426,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19620"
+NAME="AEN20416"
 ></A
 ><P
 ></P
@@ -6636,7 +6479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19633"
+NAME="AEN20429"
 ></A
 ><H3
 ><A
@@ -6675,7 +6518,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19643"
+NAME="AEN20439"
 ></A
 ><P
 ></P
@@ -6728,7 +6571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19656"
+NAME="AEN20452"
 ></A
 ><H3
 ><A
@@ -6766,7 +6609,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19666"
+NAME="AEN20462"
 ></A
 ><P
 ></P
@@ -6836,7 +6679,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19683"
+NAME="AEN20479"
 ></A
 ><H3
 ><A
@@ -6915,7 +6758,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19704"
+NAME="AEN20500"
 ></A
 ><P
 ></P
@@ -6985,7 +6828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19721"
+NAME="AEN20517"
 ></A
 ><H3
 ><A
@@ -7019,7 +6862,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19730"
+NAME="AEN20526"
 ></A
 ><P
 ></P
@@ -7057,7 +6900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19739"
+NAME="AEN20535"
 ></A
 ><H3
 ><A
@@ -7107,7 +6950,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19752"
+NAME="AEN20548"
 ></A
 ><P
 ></P
@@ -7160,7 +7003,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19765"
+NAME="AEN20561"
 ></A
 ><H3
 ><A
@@ -7188,11 +7031,16 @@
 ></TR
 ></TABLE
 ><P
+>VMS version of <A
+HREF="libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTDECL"
+>xmlParseElementChildrenContentDecl</A
+>()</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19772"
+NAME="AEN20570"
 ></A
 ><P
 ></P
@@ -7219,7 +7067,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7234,7 +7082,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the tree of xmlElementContentPtr describing the element 
+hierarchy.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7245,7 +7094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19785"
+NAME="AEN20583"
 ></A
 ><H3
 ><A
@@ -7299,7 +7148,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19798"
+NAME="AEN20596"
 ></A
 ><P
 ></P
@@ -7341,7 +7190,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the tree of xmlElementContentPtr describing the element 
+>the tree of xmlElementContentPtr describing the element 
 hierarchy.</TD
 ></TR
 ></TBODY
@@ -7353,7 +7202,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19811"
+NAME="AEN20609"
 ></A
 ><H3
 ><A
@@ -7394,7 +7243,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19821"
+NAME="AEN20619"
 ></A
 ><P
 ></P
@@ -7481,7 +7330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19842"
+NAME="AEN20640"
 ></A
 ><H3
 ><A
@@ -7516,7 +7365,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19851"
+NAME="AEN20649"
 ></A
 ><P
 ></P
@@ -7569,7 +7418,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19864"
+NAME="AEN20662"
 ></A
 ><H3
 ><A
@@ -7615,7 +7464,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19874"
+NAME="AEN20672"
 ></A
 ><P
 ></P
@@ -7653,7 +7502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19883"
+NAME="AEN20681"
 ></A
 ><H3
 ><A
@@ -7693,7 +7542,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19893"
+NAME="AEN20691"
 ></A
 ><P
 ></P
@@ -7746,7 +7595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19906"
+NAME="AEN20704"
 ></A
 ><H3
 ><A
@@ -7799,7 +7648,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19917"
+NAME="AEN20715"
 ></A
 ><P
 ></P
@@ -7852,7 +7701,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19930"
+NAME="AEN20728"
 ></A
 ><H3
 ><A
@@ -7893,7 +7742,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19940"
+NAME="AEN20738"
 ></A
 ><P
 ></P
@@ -7931,7 +7780,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19949"
+NAME="AEN20747"
 ></A
 ><H3
 ><A
@@ -7984,7 +7833,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19961"
+NAME="AEN20759"
 ></A
 ><P
 ></P
@@ -8022,7 +7871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19970"
+NAME="AEN20768"
 ></A
 ><H3
 ><A
@@ -8059,7 +7908,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN19979"
+NAME="AEN20777"
 ></A
 ><P
 ></P
@@ -8097,7 +7946,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19988"
+NAME="AEN20786"
 ></A
 ><H3
 ><A
@@ -8157,7 +8006,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20005"
+NAME="AEN20803"
 ></A
 ><P
 ></P
@@ -8227,7 +8076,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20022"
+NAME="AEN20820"
 ></A
 ><H3
 ><A
@@ -8279,7 +8128,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20037"
+NAME="AEN20835"
 ></A
 ><P
 ></P
@@ -8332,7 +8181,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20050"
+NAME="AEN20848"
 ></A
 ><H3
 ><A
@@ -8368,7 +8217,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20060"
+NAME="AEN20858"
 ></A
 ><P
 ></P
@@ -8406,7 +8255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20069"
+NAME="AEN20867"
 ></A
 ><H3
 ><A
@@ -8444,7 +8293,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20080"
+NAME="AEN20878"
 ></A
 ><P
 ></P
@@ -8482,7 +8331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20089"
+NAME="AEN20887"
 ></A
 ><H3
 ><A
@@ -8514,7 +8363,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20097"
+NAME="AEN20895"
 ></A
 ><P
 ></P
@@ -8552,7 +8401,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20106"
+NAME="AEN20904"
 ></A
 ><H3
 ><A
@@ -8601,7 +8450,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20116"
+NAME="AEN20914"
 ></A
 ><P
 ></P
@@ -8639,7 +8488,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20125"
+NAME="AEN20923"
 ></A
 ><H3
 ><A
@@ -8674,7 +8523,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20134"
+NAME="AEN20932"
 ></A
 ><P
 ></P
@@ -8727,7 +8576,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20147"
+NAME="AEN20945"
 ></A
 ><H3
 ><A
@@ -8764,7 +8613,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20157"
+NAME="AEN20955"
 ></A
 ><P
 ></P
@@ -8817,7 +8666,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20170"
+NAME="AEN20968"
 ></A
 ><H3
 ><A
@@ -8852,7 +8701,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20179"
+NAME="AEN20977"
 ></A
 ><P
 ></P
@@ -8905,7 +8754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20192"
+NAME="AEN20990"
 ></A
 ><H3
 ><A
@@ -8942,7 +8791,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20202"
+NAME="AEN21000"
 ></A
 ><P
 ></P
@@ -8995,7 +8844,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20215"
+NAME="AEN21013"
 ></A
 ><H3
 ><A
@@ -9042,7 +8891,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20224"
+NAME="AEN21022"
 ></A
 ><P
 ></P
@@ -9095,7 +8944,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20237"
+NAME="AEN21035"
 ></A
 ><H3
 ><A
@@ -9127,7 +8976,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20245"
+NAME="AEN21043"
 ></A
 ><P
 ></P
@@ -9165,7 +9014,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20254"
+NAME="AEN21052"
 ></A
 ><H3
 ><A
@@ -9199,7 +9048,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20263"
+NAME="AEN21061"
 ></A
 ><P
 ></P
@@ -9237,7 +9086,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20272"
+NAME="AEN21070"
 ></A
 ><H3
 ><A
@@ -9269,7 +9118,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20280"
+NAME="AEN21078"
 ></A
 ><P
 ></P
@@ -9307,7 +9156,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20289"
+NAME="AEN21087"
 ></A
 ><H3
 ><A
@@ -9349,7 +9198,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20300"
+NAME="AEN21098"
 ></A
 ><P
 ></P
@@ -9421,7 +9270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20317"
+NAME="AEN21115"
 ></A
 ><H3
 ><A
@@ -9447,7 +9296,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20322"
+NAME="AEN21120"
 ></A
 ><H3
 ><A
@@ -9473,7 +9322,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20327"
+NAME="AEN21125"
 ></A
 ><H3
 ><A
@@ -9499,7 +9348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20332"
+NAME="AEN21130"
 ></A
 ><H3
 ><A
@@ -9525,7 +9374,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20337"
+NAME="AEN21135"
 ></A
 ><H3
 ><A
@@ -9579,7 +9428,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20351"
+NAME="AEN21149"
 ></A
 ><P
 ></P
@@ -9718,7 +9567,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20384"
+NAME="AEN21182"
 ></A
 ><H3
 ><A
@@ -9772,7 +9621,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20398"
+NAME="AEN21196"
 ></A
 ><P
 ></P
@@ -9911,7 +9760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20431"
+NAME="AEN21229"
 ></A
 ><H3
 ><A
@@ -9939,11 +9788,13 @@
 ></TR
 ></TABLE
 ><P
+>Pushes a new element node on top of the node stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20438"
+NAME="AEN21237"
 ></A
 ><P
 ></P
@@ -9970,7 +9821,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10013,7 +9864,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20455"
+NAME="AEN21254"
 ></A
 ><H3
 ><A
@@ -10040,11 +9891,13 @@
 ></TR
 ></TABLE
 ><P
+>Pops the top element node from the node stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20462"
+NAME="AEN21262"
 ></A
 ><P
 ></P
@@ -10071,7 +9924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10086,7 +9939,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the node just removed</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10097,7 +9950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20475"
+NAME="AEN21275"
 ></A
 ><H3
 ><A
@@ -10125,11 +9978,13 @@
 ></TR
 ></TABLE
 ><P
+>Pushes a new parser input on top of the input stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20482"
+NAME="AEN21283"
 ></A
 ><P
 ></P
@@ -10156,7 +10011,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10199,7 +10054,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20499"
+NAME="AEN21300"
 ></A
 ><H3
 ><A
@@ -10226,11 +10081,13 @@
 ></TR
 ></TABLE
 ><P
+>Pops the top parser input from the input stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20506"
+NAME="AEN21308"
 ></A
 ><P
 ></P
@@ -10257,7 +10114,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10272,7 +10129,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the input just removed</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10283,7 +10140,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20519"
+NAME="AEN21321"
 ></A
 ><H3
 ><A
@@ -10310,11 +10167,13 @@
 ></TR
 ></TABLE
 ><P
+>Pops the top element name from the name stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20526"
+NAME="AEN21329"
 ></A
 ><P
 ></P
@@ -10341,7 +10200,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10356,7 +10215,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the name just removed</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10367,7 +10226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20539"
+NAME="AEN21342"
 ></A
 ><H3
 ><A
@@ -10395,11 +10254,13 @@
 ></TR
 ></TABLE
 ><P
+>Pushes a new element name on top of the name stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20546"
+NAME="AEN21350"
 ></A
 ><P
 ></P
@@ -10426,7 +10287,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -10469,7 +10330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20563"
+NAME="AEN21367"
 ></A
 ><H3
 ><A
@@ -10500,7 +10361,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20570"
+NAME="AEN21374"
 ></A
 ><P
 ></P
@@ -10553,7 +10414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20583"
+NAME="AEN21387"
 ></A
 ><H3
 ><A
@@ -10589,7 +10450,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20591"
+NAME="AEN21395"
 ></A
 ><P
 ></P
@@ -10676,7 +10537,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20612"
+NAME="AEN21416"
 ></A
 ><H3
 ><A
@@ -10735,7 +10596,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20625"
+NAME="AEN21429"
 ></A
 ><P
 ></P
@@ -10773,7 +10634,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20634"
+NAME="AEN21438"
 ></A
 ><H3
 ><A
@@ -10830,7 +10691,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20649"
+NAME="AEN21453"
 ></A
 ><P
 ></P
@@ -10868,7 +10729,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20658"
+NAME="AEN21462"
 ></A
 ><H3
 ><A
@@ -10892,11 +10753,23 @@
 ></TR
 ></TABLE
 ><P
+>Checks that the value conforms to the LanguageID production:</P
+><P
+>NOTE: this is somewhat deprecated, those productions were removed from
+the XML Second edition.</P
+><P
+>[33] LanguageID ::= Langcode ('-' Subcode)*
+[34] Langcode ::= ISO639Code |  IanaCode |  UserCode
+[35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z])
+[36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+
+[37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+
+[38] Subcode ::= ([a-z] | [A-Z])+</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20664"
+NAME="AEN21471"
 ></A
 ><P
 ></P
@@ -10923,7 +10796,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the string value</TD
 ></TR
 ><TR
 ><TD
@@ -10938,7 +10811,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if correct 0 otherwise</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10949,7 +10822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20677"
+NAME="AEN21484"
 ></A
 ><H3
 ><A
@@ -11003,7 +10876,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20689"
+NAME="AEN21496"
 ></A
 ><P
 ></P
@@ -11073,7 +10946,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20706"
+NAME="AEN21513"
 ></A
 ><H3
 ><A
@@ -11104,7 +10977,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20713"
+NAME="AEN21520"
 ></A
 ><P
 ></P
@@ -11174,7 +11047,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20730"
+NAME="AEN21537"
 ></A
 ><H3
 ><A
@@ -11206,7 +11079,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20737"
+NAME="AEN21544"
 ></A
 ><P
 ></P
@@ -11293,7 +11166,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20758"
+NAME="AEN21565"
 ></A
 ><H3
 ><A
@@ -11323,7 +11196,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20765"
+NAME="AEN21572"
 ></A
 ><P
 ></P
@@ -11361,7 +11234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20774"
+NAME="AEN21581"
 ></A
 ><H3
 ><A
@@ -11391,7 +11264,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20781"
+NAME="AEN21588"
 ></A
 ><P
 ></P
@@ -11429,7 +11302,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20790"
+NAME="AEN21597"
 ></A
 ><H3
 ><A
@@ -11462,7 +11335,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20797"
+NAME="AEN21604"
 ></A
 ><H3
 ><A
@@ -11495,7 +11368,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN20804"
+NAME="AEN21611"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-sax.html b/doc/html/libxml-sax.html
index e258da0..f7c7411 100644
--- a/doc/html/libxml-sax.html
+++ b/doc/html/libxml-sax.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2767"
+NAME="AEN2766"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2770"
+NAME="AEN2769"
 ></A
 ><H2
 >Synopsis</H2
@@ -288,7 +288,7 @@
                                              const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
-> *name,
+> *fullname,
                                              int type,
                                              int def,
                                              const <A
@@ -509,7 +509,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2862"
+NAME="AEN2861"
 ></A
 ><H2
 >Description</H2
@@ -519,14 +519,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2865"
+NAME="AEN2864"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2867"
+NAME="AEN2866"
 ></A
 ><H3
 ><A
@@ -556,7 +556,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2874"
+NAME="AEN2873"
 ></A
 ><P
 ></P
@@ -609,7 +609,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2887"
+NAME="AEN2886"
 ></A
 ><H3
 ><A
@@ -640,7 +640,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2894"
+NAME="AEN2893"
 ></A
 ><P
 ></P
@@ -693,7 +693,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2907"
+NAME="AEN2906"
 ></A
 ><H3
 ><A
@@ -725,7 +725,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2914"
+NAME="AEN2913"
 ></A
 ><P
 ></P
@@ -780,7 +780,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2927"
+NAME="AEN2926"
 ></A
 ><H3
 ><A
@@ -807,7 +807,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2933"
+NAME="AEN2932"
 ></A
 ><P
 ></P
@@ -860,7 +860,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2946"
+NAME="AEN2945"
 ></A
 ><H3
 ><A
@@ -887,7 +887,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2952"
+NAME="AEN2951"
 ></A
 ><P
 ></P
@@ -940,7 +940,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2965"
+NAME="AEN2964"
 ></A
 ><H3
 ><A
@@ -967,7 +967,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2971"
+NAME="AEN2970"
 ></A
 ><P
 ></P
@@ -1020,7 +1020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2984"
+NAME="AEN2983"
 ></A
 ><H3
 ><A
@@ -1047,7 +1047,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN2990"
+NAME="AEN2989"
 ></A
 ><P
 ></P
@@ -1100,7 +1100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3003"
+NAME="AEN3002"
 ></A
 ><H3
 ><A
@@ -1127,7 +1127,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3009"
+NAME="AEN3008"
 ></A
 ><P
 ></P
@@ -1180,7 +1180,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3022"
+NAME="AEN3021"
 ></A
 ><H3
 ><A
@@ -1219,7 +1219,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3031"
+NAME="AEN3030"
 ></A
 ><P
 ></P
@@ -1308,7 +1308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3052"
+NAME="AEN3051"
 ></A
 ><H3
 ><A
@@ -1347,7 +1347,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3061"
+NAME="AEN3060"
 ></A
 ><P
 ></P
@@ -1436,7 +1436,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3082"
+NAME="AEN3081"
 ></A
 ><H3
 ><A
@@ -1470,7 +1470,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3090"
+NAME="AEN3089"
 ></A
 ><P
 ></P
@@ -1540,7 +1540,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3107"
+NAME="AEN3106"
 ></A
 ><H3
 ><A
@@ -1574,7 +1574,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3115"
+NAME="AEN3114"
 ></A
 ><P
 ></P
@@ -1644,7 +1644,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3132"
+NAME="AEN3131"
 ></A
 ><H3
 ><A
@@ -1692,7 +1692,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3143"
+NAME="AEN3142"
 ></A
 ><P
 ></P
@@ -1779,7 +1779,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3164"
+NAME="AEN3163"
 ></A
 ><H3
 ><A
@@ -1823,7 +1823,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3174"
+NAME="AEN3173"
 ></A
 ><P
 ></P
@@ -1946,7 +1946,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3203"
+NAME="AEN3202"
 ></A
 ><H3
 ><A
@@ -1970,7 +1970,7 @@
                                              const <A
 HREF="libxml-tree.html#XMLCHAR"
 >xmlChar</A
-> *name,
+> *fullname,
                                              int type,
                                              int def,
                                              const <A
@@ -1991,7 +1991,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3213"
+NAME="AEN3212"
 ></A
 ><P
 ></P
@@ -2045,14 +2045,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->name</I
+>fullname</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name </TD
 ></TR
 ><TR
 ><TD
@@ -2131,7 +2131,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3246"
+NAME="AEN3245"
 ></A
 ><H3
 ><A
@@ -2167,7 +2167,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3254"
+NAME="AEN3253"
 ></A
 ><P
 ></P
@@ -2256,7 +2256,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3275"
+NAME="AEN3274"
 ></A
 ><H3
 ><A
@@ -2295,7 +2295,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3284"
+NAME="AEN3283"
 ></A
 ><P
 ></P
@@ -2384,7 +2384,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3305"
+NAME="AEN3304"
 ></A
 ><H3
 ><A
@@ -2427,7 +2427,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3315"
+NAME="AEN3314"
 ></A
 ><P
 ></P
@@ -2533,7 +2533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3340"
+NAME="AEN3339"
 ></A
 ><H3
 ><A
@@ -2560,7 +2560,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3346"
+NAME="AEN3345"
 ></A
 ><P
 ></P
@@ -2598,7 +2598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3355"
+NAME="AEN3354"
 ></A
 ><H3
 ><A
@@ -2625,7 +2625,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3361"
+NAME="AEN3360"
 ></A
 ><P
 ></P
@@ -2663,7 +2663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3370"
+NAME="AEN3369"
 ></A
 ><H3
 ><A
@@ -2701,7 +2701,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3378"
+NAME="AEN3377"
 ></A
 ><P
 ></P
@@ -2773,7 +2773,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3395"
+NAME="AEN3394"
 ></A
 ><H3
 ><A
@@ -2808,7 +2808,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3403"
+NAME="AEN3402"
 ></A
 ><P
 ></P
@@ -2880,7 +2880,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3420"
+NAME="AEN3419"
 ></A
 ><H3
 ><A
@@ -2911,7 +2911,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3427"
+NAME="AEN3426"
 ></A
 ><P
 ></P
@@ -2966,7 +2966,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3440"
+NAME="AEN3439"
 ></A
 ><H3
 ><A
@@ -2997,7 +2997,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3447"
+NAME="AEN3446"
 ></A
 ><P
 ></P
@@ -3052,7 +3052,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3460"
+NAME="AEN3459"
 ></A
 ><H3
 ><A
@@ -3085,7 +3085,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3467"
+NAME="AEN3466"
 ></A
 ><P
 ></P
@@ -3157,7 +3157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3484"
+NAME="AEN3483"
 ></A
 ><H3
 ><A
@@ -3190,7 +3190,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3491"
+NAME="AEN3490"
 ></A
 ><P
 ></P
@@ -3262,7 +3262,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3508"
+NAME="AEN3507"
 ></A
 ><H3
 ><A
@@ -3297,7 +3297,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3516"
+NAME="AEN3515"
 ></A
 ><P
 ></P
@@ -3369,7 +3369,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3533"
+NAME="AEN3532"
 ></A
 ><H3
 ><A
@@ -3404,7 +3404,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3541"
+NAME="AEN3540"
 ></A
 ><P
 ></P
@@ -3476,7 +3476,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3558"
+NAME="AEN3557"
 ></A
 ><H3
 ><A
@@ -3507,7 +3507,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3565"
+NAME="AEN3564"
 ></A
 ><P
 ></P
@@ -3562,7 +3562,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3578"
+NAME="AEN3577"
 ></A
 ><H3
 ><A
@@ -3592,7 +3592,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3585"
+NAME="AEN3584"
 ></A
 ><P
 ></P
@@ -3645,7 +3645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3598"
+NAME="AEN3597"
 ></A
 ><H3
 ><A
@@ -3677,7 +3677,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3605"
+NAME="AEN3604"
 ></A
 ><P
 ></P
@@ -3747,7 +3747,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3622"
+NAME="AEN3621"
 ></A
 ><H3
 ><A
@@ -3782,7 +3782,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3630"
+NAME="AEN3629"
 ></A
 ><P
 ></P
@@ -3854,7 +3854,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3647"
+NAME="AEN3646"
 ></A
 ><H3
 ><A
@@ -3885,7 +3885,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3654"
+NAME="AEN3653"
 ></A
 ><P
 ></P
@@ -3940,7 +3940,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3667"
+NAME="AEN3666"
 ></A
 ><H3
 ><A
@@ -3972,7 +3972,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN3674"
+NAME="AEN3673"
 ></A
 ><P
 ></P
@@ -4044,7 +4044,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3691"
+NAME="AEN3690"
 ></A
 ><H3
 ><A
@@ -4072,7 +4072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3697"
+NAME="AEN3696"
 ></A
 ><H3
 ><A
@@ -4100,7 +4100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3703"
+NAME="AEN3702"
 ></A
 ><H3
 ><A
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index d0b83d5..8076be7 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3714"
+NAME="AEN3713"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3717"
+NAME="AEN3716"
 ></A
 ><H2
 >Synopsis</H2
@@ -1773,6 +1773,16 @@
                                              int level,
                                              int format);
 int         <A
+HREF="libxml-tree.html#XMLSAVEFORMATFILEENC"
+>xmlSaveFormatFileEnc</A
+>            (const char *filename,
+                                             <A
+HREF="libxml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding,
+                                             int format);
+int         <A
 HREF="libxml-tree.html#XMLSAVEFILEENC"
 >xmlSaveFileEnc</A
 >                  (const char *filename,
@@ -1811,7 +1821,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4172"
+NAME="AEN4173"
 ></A
 ><H2
 >Description</H2
@@ -1821,14 +1831,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4175"
+NAME="AEN4176"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4177"
+NAME="AEN4178"
 ></A
 ><H3
 ><A
@@ -1854,7 +1864,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4182"
+NAME="AEN4183"
 ></A
 ><H3
 ><A
@@ -1904,37 +1914,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4187"
+NAME="AEN4188"
 ></A
 ><H3
 ><A
 NAME="XMLCHAR"
 ></A
 >xmlChar</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef unsigned char xmlChar;</PRE
-></TD
-></TR
-></TABLE
-><P
->This is a basic byte in an UTF-8 encoded string.
-It's unsigned allowing to pinpoint case where char * are assigned
-to xmlChar * (possibly making serialization back impossible).</P
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4193"
+NAME="AEN4192"
 ></A
 ><H3
 ><A
@@ -1950,19 +1943,17 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define BAD_CAST (xmlChar *)</PRE
+>#define     BAD_CAST</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro to cast a string to an xmlChar * when one know its safe.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4199"
+NAME="AEN4197"
 ></A
 ><H3
 ><A
@@ -1987,40 +1978,25 @@
 ></TR
 ></TABLE
 ><P
->a DTD Notation definition</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4205"
+NAME="AEN4202"
 ></A
 ><H3
 ><A
 NAME="XMLNOTATIONPTR"
 ></A
 >xmlNotationPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNotation *xmlNotationPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4210"
+NAME="AEN4206"
 ></A
 ><H3
 ><A
@@ -2052,14 +2028,12 @@
 ></TR
 ></TABLE
 ><P
->a DTD Attribute type definition</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4216"
+NAME="AEN4211"
 ></A
 ><H3
 ><A
@@ -2085,14 +2059,12 @@
 ></TR
 ></TABLE
 ><P
->a DTD Attribute default definition</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4222"
+NAME="AEN4216"
 ></A
 ><H3
 ><A
@@ -2116,40 +2088,25 @@
 ></TR
 ></TABLE
 ><P
->list structure used when there is an enumeration in DTDs</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4228"
+NAME="AEN4221"
 ></A
 ><H3
 ><A
 NAME="XMLENUMERATIONPTR"
 ></A
 >xmlEnumerationPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlEnumeration *xmlEnumerationPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4233"
+NAME="AEN4225"
 ></A
 ><H3
 ><A
@@ -2188,40 +2145,25 @@
 ></TR
 ></TABLE
 ><P
->an Attribute declaration in a DTD</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4239"
+NAME="AEN4230"
 ></A
 ><H3
 ><A
 NAME="XMLATTRIBUTEPTR"
 ></A
 >xmlAttributePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttribute *xmlAttributePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4244"
+NAME="AEN4234"
 ></A
 ><H3
 ><A
@@ -2247,14 +2189,12 @@
 ></TR
 ></TABLE
 ><P
->Possible definitions of element content types</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4250"
+NAME="AEN4239"
 ></A
 ><H3
 ><A
@@ -2280,14 +2220,12 @@
 ></TR
 ></TABLE
 ><P
->Possible definitions of element content occurences</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4256"
+NAME="AEN4244"
 ></A
 ><H3
 ><A
@@ -2315,41 +2253,25 @@
 ></TR
 ></TABLE
 ><P
->an XML Element content as stored after parsing an element definition
-in a DTD.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4262"
+NAME="AEN4249"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTCONTENTPTR"
 ></A
 >xmlElementContentPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElementContent *xmlElementContentPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4267"
+NAME="AEN4253"
 ></A
 ><H3
 ><A
@@ -2376,14 +2298,12 @@
 ></TR
 ></TABLE
 ><P
->the differnt possibility for an element content type</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4273"
+NAME="AEN4258"
 ></A
 ><H3
 ><A
@@ -2419,40 +2339,25 @@
 ></TR
 ></TABLE
 ><P
->an XML Element declaration from a DTD</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4279"
+NAME="AEN4263"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTPTR"
 ></A
 >xmlElementPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElement *xmlElementPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4284"
+NAME="AEN4267"
 ></A
 ><H3
 ><A
@@ -2468,7 +2373,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL</PRE
+>#define     XML_LOCAL_NAMESPACE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2478,33 +2383,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4289"
+NAME="AEN4272"
 ></A
 ><H3
 ><A
 NAME="XMLNSTYPE"
 ></A
 >xmlNsType</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElementType xmlNsType;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4294"
+NAME="AEN4276"
 ></A
 ><H3
 ><A
@@ -2530,45 +2422,25 @@
 ></TR
 ></TABLE
 ><P
->An XML namespace.
-Note that prefix == NULL is valid, it defines the default namespace
-within the subtree (until overriden).</P
-><P
->XML_GLOBAL_NAMESPACE is now deprecated for good
-xmlNsType is unified with xmlElementType</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4301"
+NAME="AEN4281"
 ></A
 ><H3
 ><A
 NAME="XMLNSPTR"
 ></A
 >xmlNsPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNs *xmlNsPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4306"
+NAME="AEN4285"
 ></A
 ><H3
 ><A
@@ -2608,41 +2480,25 @@
 ></TR
 ></TABLE
 ><P
->An XML DtD, as defined by &lt;!DOCTYPE ... There is actually one for
-the internal subset and for the external subset</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4312"
+NAME="AEN4290"
 ></A
 ><H3
 ><A
 NAME="XMLDTDPTR"
 ></A
 >xmlDtdPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlDtd *xmlDtdPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4317"
+NAME="AEN4294"
 ></A
 ><H3
 ><A
@@ -2675,40 +2531,25 @@
 ></TR
 ></TABLE
 ><P
->A attribute on an XML node.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4323"
+NAME="AEN4299"
 ></A
 ><H3
 ><A
 NAME="XMLATTRPTR"
 ></A
 >xmlAttrPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttr *xmlAttrPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4328"
+NAME="AEN4303"
 ></A
 ><H3
 ><A
@@ -2733,40 +2574,25 @@
 ></TR
 ></TABLE
 ><P
->An XML ID instance.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4334"
+NAME="AEN4308"
 ></A
 ><H3
 ><A
 NAME="XMLIDPTR"
 ></A
 >xmlIDPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlID *xmlIDPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4339"
+NAME="AEN4312"
 ></A
 ><H3
 ><A
@@ -2791,40 +2617,25 @@
 ></TR
 ></TABLE
 ><P
->An XML IDREF instance.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4345"
+NAME="AEN4317"
 ></A
 ><H3
 ><A
 NAME="XMLREFPTR"
 ></A
 >xmlRefPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlRef *xmlRefPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4350"
+NAME="AEN4321"
 ></A
 ><H3
 ><A
@@ -2848,15 +2659,12 @@
 ></TR
 ></TABLE
 ><P
->A buffer allocation scheme can be defined to either match exactly the
-need or double it's allocated size each time it is found too small</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4356"
+NAME="AEN4326"
 ></A
 ><H3
 ><A
@@ -2882,40 +2690,25 @@
 ></TR
 ></TABLE
 ><P
->A buffer structure</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4362"
+NAME="AEN4331"
 ></A
 ><H3
 ><A
 NAME="XMLBUFFERPTR"
 ></A
 >xmlBufferPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlBuffer *xmlBufferPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4367"
+NAME="AEN4335"
 ></A
 ><H3
 ><A
@@ -2956,40 +2749,25 @@
 ></TR
 ></TABLE
 ><P
->A node in an XML tree.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4373"
+NAME="AEN4340"
 ></A
 ><H3
 ><A
 NAME="XMLNODEPTR"
 ></A
 >xmlNodePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNode *xmlNodePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4378"
+NAME="AEN4344"
 ></A
 ><H3
 ><A
@@ -3034,40 +2812,25 @@
 ></TR
 ></TABLE
 ><P
->An XML document.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4384"
+NAME="AEN4349"
 ></A
 ><H3
 ><A
 NAME="XMLDOCPTR"
 ></A
 >xmlDocPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlDoc *xmlDocPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4389"
+NAME="AEN4353"
 ></A
 ><H3
 ><A
@@ -3083,19 +2846,17 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define xmlChildrenNode children</PRE
+>#define     xmlChildrenNode</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro for compatibility naming layer with libxml1</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4395"
+NAME="AEN4358"
 ></A
 ><H3
 ><A
@@ -3111,19 +2872,17 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define xmlRootNode children</PRE
+>#define     xmlRootNode</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro for compatibility naming layer with libxml1</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4401"
+NAME="AEN4363"
 ></A
 ><H3
 ><A
@@ -3156,7 +2915,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4408"
+NAME="AEN4370"
 ></A
 ><P
 ></P
@@ -3183,7 +2942,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  allocation method to use</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3194,7 +2953,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4417"
+NAME="AEN4379"
 ></A
 ><H3
 ><A
@@ -3228,7 +2987,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4424"
+NAME="AEN4386"
 ></A
 ><P
 ></P
@@ -3253,7 +3012,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the current allocation scheme</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3264,7 +3023,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4433"
+NAME="AEN4395"
 ></A
 ><H3
 ><A
@@ -3294,7 +3053,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4440"
+NAME="AEN4402"
 ></A
 ><P
 ></P
@@ -3319,7 +3078,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new structure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3330,7 +3089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4449"
+NAME="AEN4411"
 ></A
 ><H3
 ><A
@@ -3363,7 +3122,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4457"
+NAME="AEN4419"
 ></A
 ><P
 ></P
@@ -3390,7 +3149,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> initial size of buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3405,7 +3164,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new structure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3416,7 +3175,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4470"
+NAME="AEN4432"
 ></A
 ><H3
 ><A
@@ -3452,7 +3211,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4478"
+NAME="AEN4440"
 ></A
 ><P
 ></P
@@ -3479,7 +3238,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to resize</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3496,7 +3255,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the desired size</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3511,7 +3270,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 in case of problems, 1 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3522,7 +3281,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4495"
+NAME="AEN4457"
 ></A
 ><H3
 ><A
@@ -3552,7 +3311,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4502"
+NAME="AEN4464"
 ></A
 ><P
 ></P
@@ -3579,7 +3338,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to free</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3590,7 +3349,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4511"
+NAME="AEN4473"
 ></A
 ><H3
 ><A
@@ -3624,7 +3383,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4519"
+NAME="AEN4481"
 ></A
 ><P
 ></P
@@ -3651,7 +3410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3668,7 +3427,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3683,7 +3442,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChar written</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3694,7 +3453,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4536"
+NAME="AEN4498"
 ></A
 ><H3
 ><A
@@ -3730,7 +3489,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4544"
+NAME="AEN4506"
 ></A
 ><P
 ></P
@@ -3757,7 +3516,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3774,7 +3533,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3791,7 +3550,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of xmlChar to add</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3802,7 +3561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4561"
+NAME="AEN4523"
 ></A
 ><H3
 ><A
@@ -3843,7 +3602,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4570"
+NAME="AEN4532"
 ></A
 ><P
 ></P
@@ -3870,7 +3629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3887,7 +3646,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3904,7 +3663,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of xmlChar to add</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3915,7 +3674,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4587"
+NAME="AEN4549"
 ></A
 ><H3
 ><A
@@ -3949,7 +3708,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4595"
+NAME="AEN4557"
 ></A
 ><P
 ></P
@@ -3976,7 +3735,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3993,7 +3752,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar string</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4004,7 +3763,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4608"
+NAME="AEN4570"
 ></A
 ><H3
 ><A
@@ -4035,7 +3794,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4615"
+NAME="AEN4577"
 ></A
 ><P
 ></P
@@ -4062,7 +3821,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4079,7 +3838,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the C char string</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4090,7 +3849,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4628"
+NAME="AEN4590"
 ></A
 ><H3
 ><A
@@ -4121,7 +3880,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4635"
+NAME="AEN4597"
 ></A
 ><P
 ></P
@@ -4148,7 +3907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4165,7 +3924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of xmlChar to remove</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4180,7 +3939,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChar removed, or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4191,7 +3950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4652"
+NAME="AEN4614"
 ></A
 ><H3
 ><A
@@ -4222,7 +3981,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4659"
+NAME="AEN4621"
 ></A
 ><P
 ></P
@@ -4249,7 +4008,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4266,7 +4025,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the minimum free size to allocate</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4281,7 +4040,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new available space or -1 in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4292,7 +4051,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4676"
+NAME="AEN4638"
 ></A
 ><H3
 ><A
@@ -4322,7 +4081,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4683"
+NAME="AEN4645"
 ></A
 ><P
 ></P
@@ -4349,7 +4108,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4360,7 +4119,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4692"
+NAME="AEN4654"
 ></A
 ><H3
 ><A
@@ -4393,7 +4152,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4700"
+NAME="AEN4662"
 ></A
 ><P
 ></P
@@ -4420,7 +4179,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4435,7 +4194,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the internal content</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4446,7 +4205,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4713"
+NAME="AEN4675"
 ></A
 ><H3
 ><A
@@ -4474,7 +4233,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4719"
+NAME="AEN4681"
 ></A
 ><P
 ></P
@@ -4527,7 +4286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4732"
+NAME="AEN4694"
 ></A
 ><H3
 ><A
@@ -4561,7 +4320,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4740"
+NAME="AEN4702"
 ></A
 ><P
 ></P
@@ -4588,7 +4347,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to free</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4605,7 +4364,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  allocation scheme to use</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4616,7 +4375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4753"
+NAME="AEN4715"
 ></A
 ><H3
 ><A
@@ -4646,7 +4405,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4760"
+NAME="AEN4722"
 ></A
 ><P
 ></P
@@ -4673,7 +4432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4688,7 +4447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the length of data in the internal content</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4699,7 +4458,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4773"
+NAME="AEN4735"
 ></A
 ><H3
 ><A
@@ -4744,7 +4503,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4784"
+NAME="AEN4746"
 ></A
 ><P
 ></P
@@ -4771,7 +4530,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4788,7 +4547,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4805,7 +4564,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the external (PUBLIC) ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4822,7 +4581,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the system ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4837,7 +4596,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new DTD structure</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4848,7 +4607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4809"
+NAME="AEN4771"
 ></A
 ><H3
 ><A
@@ -4897,7 +4656,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4821"
+NAME="AEN4783"
 ></A
 ><P
 ></P
@@ -4924,7 +4683,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4941,7 +4700,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4958,7 +4717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the external ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4975,7 +4734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the system ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4990,7 +4749,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new DTD structure</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5001,7 +4760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4846"
+NAME="AEN4808"
 ></A
 ><H3
 ><A
@@ -5034,7 +4793,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4854"
+NAME="AEN4816"
 ></A
 ><P
 ></P
@@ -5061,7 +4820,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5076,7 +4835,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the DTD structure or NULL if not found</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5087,7 +4846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4867"
+NAME="AEN4829"
 ></A
 ><H3
 ><A
@@ -5117,7 +4876,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4874"
+NAME="AEN4836"
 ></A
 ><P
 ></P
@@ -5144,7 +4903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD structure to free up</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5155,7 +4914,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4883"
+NAME="AEN4845"
 ></A
 ><H3
 ><A
@@ -5198,7 +4957,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4893"
+NAME="AEN4855"
 ></A
 ><P
 ></P
@@ -5225,7 +4984,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document carrying the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5242,7 +5001,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI associated</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5259,7 +5018,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the prefix for the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5274,7 +5033,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL this functionnality had been removed</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5285,7 +5044,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4914"
+NAME="AEN4876"
 ></A
 ><H3
 ><A
@@ -5330,7 +5089,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4924"
+NAME="AEN4886"
 ></A
 ><P
 ></P
@@ -5357,7 +5116,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element carrying the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5374,7 +5133,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI associated</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5391,7 +5150,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the prefix for the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5406,7 +5165,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->returns a new namespace pointer or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5417,7 +5176,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4945"
+NAME="AEN4907"
 ></A
 ><H3
 ><A
@@ -5447,7 +5206,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4952"
+NAME="AEN4914"
 ></A
 ><P
 ></P
@@ -5474,7 +5233,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5485,7 +5244,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4961"
+NAME="AEN4923"
 ></A
 ><H3
 ><A
@@ -5515,7 +5274,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4968"
+NAME="AEN4930"
 ></A
 ><P
 ></P
@@ -5542,7 +5301,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first namespace pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5553,7 +5312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4977"
+NAME="AEN4939"
 ></A
 ><H3
 ><A
@@ -5586,7 +5345,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN4985"
+NAME="AEN4947"
 ></A
 ><P
 ></P
@@ -5613,7 +5372,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  xmlChar string giving the version of XML "1.0"</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5628,7 +5387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new document</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5639,7 +5398,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4998"
+NAME="AEN4960"
 ></A
 ><H3
 ><A
@@ -5669,7 +5428,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5005"
+NAME="AEN4967"
 ></A
 ><P
 ></P
@@ -5696,8 +5455,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the document
-@:  </TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5708,7 +5466,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5014"
+NAME="AEN4976"
 ></A
 ><H3
 ><A
@@ -5749,7 +5507,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5024"
+NAME="AEN4986"
 ></A
 ><P
 ></P
@@ -5776,7 +5534,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5793,7 +5551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5810,7 +5568,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5825,7 +5583,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5836,7 +5594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5045"
+NAME="AEN5007"
 ></A
 ><H3
 ><A
@@ -5877,7 +5635,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5055"
+NAME="AEN5017"
 ></A
 ><P
 ></P
@@ -5904,7 +5662,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the holding node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5921,7 +5679,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5938,7 +5696,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5953,7 +5711,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -5964,7 +5722,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5076"
+NAME="AEN5038"
 ></A
 ><H3
 ><A
@@ -6009,7 +5767,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5087"
+NAME="AEN5049"
 ></A
 ><P
 ></P
@@ -6036,7 +5794,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the holding node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6053,7 +5811,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6070,7 +5828,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6087,7 +5845,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6102,7 +5860,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6113,7 +5871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5112"
+NAME="AEN5074"
 ></A
 ><H3
 ><A
@@ -6143,7 +5901,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5119"
+NAME="AEN5081"
 ></A
 ><P
 ></P
@@ -6170,7 +5928,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first property in the list</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6181,7 +5939,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5128"
+NAME="AEN5090"
 ></A
 ><H3
 ><A
@@ -6211,7 +5969,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5135"
+NAME="AEN5097"
 ></A
 ><P
 ></P
@@ -6238,7 +5996,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6249,7 +6007,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5144"
+NAME="AEN5106"
 ></A
 ><H3
 ><A
@@ -6286,7 +6044,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5153"
+NAME="AEN5115"
 ></A
 ><P
 ></P
@@ -6313,7 +6071,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element where the attribute will be grafted</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6330,7 +6088,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6345,7 +6103,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlAttrPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6356,7 +6114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5170"
+NAME="AEN5132"
 ></A
 ><H3
 ><A
@@ -6393,7 +6151,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5179"
+NAME="AEN5141"
 ></A
 ><P
 ></P
@@ -6420,7 +6178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element where the attributes will be grafted</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6437,7 +6195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6452,7 +6210,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlAttrPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6463,7 +6221,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5196"
+NAME="AEN5158"
 ></A
 ><H3
 ><A
@@ -6496,7 +6254,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5204"
+NAME="AEN5166"
 ></A
 ><P
 ></P
@@ -6523,7 +6281,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the dtd</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6538,7 +6296,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlDtdPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6549,7 +6307,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5217"
+NAME="AEN5179"
 ></A
 ><H3
 ><A
@@ -6584,7 +6342,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5225"
+NAME="AEN5187"
 ></A
 ><P
 ></P
@@ -6611,7 +6369,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6628,7 +6386,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if 1 do a recursive copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6643,7 +6401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlDocPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6654,7 +6412,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5242"
+NAME="AEN5204"
 ></A
 ><H3
 ><A
@@ -6725,7 +6483,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5258"
+NAME="AEN5220"
 ></A
 ><P
 ></P
@@ -6752,7 +6510,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6769,7 +6527,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6786,7 +6544,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6803,7 +6561,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML text content if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6818,7 +6576,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6829,7 +6587,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5283"
+NAME="AEN5245"
 ></A
 ><H3
 ><A
@@ -6885,7 +6643,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5296"
+NAME="AEN5258"
 ></A
 ><P
 ></P
@@ -6912,7 +6670,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6929,7 +6687,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6946,7 +6704,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6963,7 +6721,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6978,7 +6736,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -6989,7 +6747,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5321"
+NAME="AEN5283"
 ></A
 ><H3
 ><A
@@ -7031,7 +6789,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5331"
+NAME="AEN5293"
 ></A
 ><P
 ></P
@@ -7058,7 +6816,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7075,7 +6833,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7090,7 +6848,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7101,7 +6859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5348"
+NAME="AEN5310"
 ></A
 ><H3
 ><A
@@ -7178,7 +6936,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5365"
+NAME="AEN5327"
 ></A
 ><P
 ></P
@@ -7205,7 +6963,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7222,7 +6980,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7239,7 +6997,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the child</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7256,7 +7014,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML content of the child if any.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7271,7 +7029,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7282,7 +7040,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5390"
+NAME="AEN5352"
 ></A
 ><H3
 ><A
@@ -7344,7 +7102,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5404"
+NAME="AEN5366"
 ></A
 ><P
 ></P
@@ -7371,7 +7129,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7388,7 +7146,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7405,7 +7163,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the child</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7422,7 +7180,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content of the child if any.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7437,7 +7195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7448,7 +7206,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5429"
+NAME="AEN5391"
 ></A
 ><H3
 ><A
@@ -7485,7 +7243,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5438"
+NAME="AEN5400"
 ></A
 ><P
 ></P
@@ -7512,7 +7270,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7529,7 +7287,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7544,7 +7302,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7555,7 +7313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5455"
+NAME="AEN5417"
 ></A
 ><H3
 ><A
@@ -7588,7 +7346,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5463"
+NAME="AEN5425"
 ></A
 ><P
 ></P
@@ -7615,7 +7373,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7630,7 +7388,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7641,7 +7399,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5476"
+NAME="AEN5438"
 ></A
 ><H3
 ><A
@@ -7678,7 +7436,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5485"
+NAME="AEN5447"
 ></A
 ><P
 ></P
@@ -7705,7 +7463,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the processing instruction name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7722,7 +7480,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the PI content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7737,7 +7495,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7748,7 +7506,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5502"
+NAME="AEN5464"
 ></A
 ><H3
 ><A
@@ -7787,7 +7545,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5511"
+NAME="AEN5473"
 ></A
 ><P
 ></P
@@ -7814,7 +7572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7831,7 +7589,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7848,7 +7606,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text len.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7863,7 +7621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7874,7 +7632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5532"
+NAME="AEN5494"
 ></A
 ><H3
 ><A
@@ -7908,7 +7666,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5540"
+NAME="AEN5502"
 ></A
 ><P
 ></P
@@ -7935,7 +7693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7952,7 +7710,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text len.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7967,7 +7725,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -7978,7 +7736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5557"
+NAME="AEN5519"
 ></A
 ><H3
 ><A
@@ -8015,7 +7773,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5566"
+NAME="AEN5528"
 ></A
 ><P
 ></P
@@ -8042,7 +7800,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8059,7 +7817,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the comment content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8074,7 +7832,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8085,7 +7843,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5583"
+NAME="AEN5545"
 ></A
 ><H3
 ><A
@@ -8118,7 +7876,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5591"
+NAME="AEN5553"
 ></A
 ><P
 ></P
@@ -8145,7 +7903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the comment content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8160,7 +7918,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8171,7 +7929,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5604"
+NAME="AEN5566"
 ></A
 ><H3
 ><A
@@ -8209,7 +7967,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5613"
+NAME="AEN5575"
 ></A
 ><P
 ></P
@@ -8236,7 +7994,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8253,7 +8011,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CData block content content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8270,7 +8028,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8285,7 +8043,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8296,7 +8054,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5634"
+NAME="AEN5596"
 ></A
 ><H3
 ><A
@@ -8333,7 +8091,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5643"
+NAME="AEN5605"
 ></A
 ><P
 ></P
@@ -8360,7 +8118,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8377,7 +8135,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the char ref string, starting with # or "&amp;# ... ;"</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8392,7 +8150,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8403,7 +8161,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5660"
+NAME="AEN5622"
 ></A
 ><H3
 ><A
@@ -8440,7 +8198,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5669"
+NAME="AEN5631"
 ></A
 ><P
 ></P
@@ -8467,7 +8225,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8484,7 +8242,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the reference name, or the reference string with &amp; and ;</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8499,7 +8257,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8510,7 +8268,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5686"
+NAME="AEN5648"
 ></A
 ><H3
 ><A
@@ -8544,7 +8302,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5694"
+NAME="AEN5656"
 ></A
 ><P
 ></P
@@ -8571,7 +8329,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8588,7 +8346,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if 1 do a recursive copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8603,7 +8361,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNodePtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8614,7 +8372,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5711"
+NAME="AEN5673"
 ></A
 ><H3
 ><A
@@ -8652,7 +8410,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5720"
+NAME="AEN5682"
 ></A
 ><P
 ></P
@@ -8679,7 +8437,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8713,7 +8471,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if 1 do a recursive copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8728,7 +8486,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNodePtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8739,7 +8497,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5741"
+NAME="AEN5703"
 ></A
 ><H3
 ><A
@@ -8772,7 +8530,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5749"
+NAME="AEN5711"
 ></A
 ><P
 ></P
@@ -8799,7 +8557,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first node in the list.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8814,7 +8572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNodePtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8825,7 +8583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5762"
+NAME="AEN5724"
 ></A
 ><H3
 ><A
@@ -8858,7 +8616,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5770"
+NAME="AEN5732"
 ></A
 ><P
 ></P
@@ -8885,7 +8643,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document owning the fragment</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8900,7 +8658,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8911,7 +8669,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5783"
+NAME="AEN5745"
 ></A
 ><H3
 ><A
@@ -8945,7 +8703,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5791"
+NAME="AEN5753"
 ></A
 ><P
 ></P
@@ -8972,7 +8730,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8987,7 +8745,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlNodePtr for the root or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -8998,7 +8756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5804"
+NAME="AEN5766"
 ></A
 ><H3
 ><A
@@ -9031,7 +8789,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5812"
+NAME="AEN5774"
 ></A
 ><P
 ></P
@@ -9058,7 +8816,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9073,7 +8831,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the last child or NULL if none.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9084,7 +8842,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5825"
+NAME="AEN5787"
 ></A
 ><H3
 ><A
@@ -9114,7 +8872,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5832"
+NAME="AEN5794"
 ></A
 ><P
 ></P
@@ -9141,7 +8899,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9156,7 +8914,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 yes, 0 no</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9167,7 +8925,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5845"
+NAME="AEN5807"
 ></A
 ><H3
 ><A
@@ -9198,7 +8956,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5852"
+NAME="AEN5814"
 ></A
 ><P
 ></P
@@ -9225,7 +8983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9240,7 +8998,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 yes, 0 no</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9251,7 +9009,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5865"
+NAME="AEN5827"
 ></A
 ><H3
 ><A
@@ -9289,7 +9047,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5874"
+NAME="AEN5836"
 ></A
 ><P
 ></P
@@ -9316,7 +9074,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9333,7 +9091,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new document root element</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9348,7 +9106,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the old root element if any was found</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9359,7 +9117,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5891"
+NAME="AEN5853"
 ></A
 ><H3
 ><A
@@ -9393,7 +9151,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5899"
+NAME="AEN5861"
 ></A
 ><P
 ></P
@@ -9420,7 +9178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being changed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9437,7 +9195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new tag name</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9448,7 +9206,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5912"
+NAME="AEN5874"
 ></A
 ><H3
 ><A
@@ -9496,7 +9254,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5923"
+NAME="AEN5885"
 ></A
 ><P
 ></P
@@ -9523,7 +9281,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9540,7 +9298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9555,7 +9313,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the child or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9566,7 +9324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5940"
+NAME="AEN5902"
 ></A
 ><H3
 ><A
@@ -9609,7 +9367,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5950"
+NAME="AEN5912"
 ></A
 ><P
 ></P
@@ -9636,7 +9394,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9653,7 +9411,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first node in the list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9668,7 +9426,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the last child or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9679,7 +9437,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5967"
+NAME="AEN5929"
 ></A
 ><H3
 ><A
@@ -9718,7 +9476,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN5976"
+NAME="AEN5938"
 ></A
 ><P
 ></P
@@ -9745,7 +9503,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the old node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9762,7 +9520,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9777,7 +9535,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the old node</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9788,7 +9546,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5993"
+NAME="AEN5955"
 ></A
 ><H3
 ><A
@@ -9843,7 +9601,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6005"
+NAME="AEN5967"
 ></A
 ><P
 ></P
@@ -9870,7 +9628,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9887,7 +9645,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9902,7 +9660,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new element or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -9913,7 +9671,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6022"
+NAME="AEN5984"
 ></A
 ><H3
 ><A
@@ -9968,7 +9726,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6034"
+NAME="AEN5996"
 ></A
 ><P
 ></P
@@ -9995,7 +9753,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10012,7 +9770,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10027,7 +9785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new element or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10038,7 +9796,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6051"
+NAME="AEN6013"
 ></A
 ><H3
 ><A
@@ -10093,7 +9851,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6063"
+NAME="AEN6025"
 ></A
 ><P
 ></P
@@ -10120,7 +9878,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10137,7 +9895,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10152,7 +9910,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new element or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10163,7 +9921,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6080"
+NAME="AEN6042"
 ></A
 ><H3
 ><A
@@ -10193,7 +9951,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6087"
+NAME="AEN6049"
 ></A
 ><P
 ></P
@@ -10220,7 +9978,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10231,7 +9989,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6096"
+NAME="AEN6058"
 ></A
 ><H3
 ><A
@@ -10268,7 +10026,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6105"
+NAME="AEN6067"
 ></A
 ><P
 ></P
@@ -10295,7 +10053,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first text node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10312,7 +10070,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second text node being merged</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10327,7 +10085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the first text node augmented</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10338,7 +10096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6122"
+NAME="AEN6084"
 ></A
 ><H3
 ><A
@@ -10373,7 +10131,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6130"
+NAME="AEN6092"
 ></A
 ><P
 ></P
@@ -10400,7 +10158,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10417,7 +10175,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10434,12 +10192,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-> lenght</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10450,7 +10203,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6148"
+NAME="AEN6109"
 ></A
 ><H3
 ><A
@@ -10481,7 +10234,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6155"
+NAME="AEN6116"
 ></A
 ><P
 ></P
@@ -10508,7 +10261,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first node in the list</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10519,7 +10272,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6164"
+NAME="AEN6125"
 ></A
 ><H3
 ><A
@@ -10553,7 +10306,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6172"
+NAME="AEN6133"
 ></A
 ><P
 ></P
@@ -10580,7 +10333,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10591,7 +10344,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6181"
+NAME="AEN6142"
 ></A
 ><H3
 ><A
@@ -10625,7 +10378,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6189"
+NAME="AEN6150"
 ></A
 ><P
 ></P
@@ -10652,7 +10405,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the top element</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10669,7 +10422,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10680,7 +10433,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6202"
+NAME="AEN6163"
 ></A
 ><H3
 ><A
@@ -10714,7 +10467,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6210"
+NAME="AEN6171"
 ></A
 ><P
 ></P
@@ -10758,7 +10511,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10769,7 +10522,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6223"
+NAME="AEN6184"
 ></A
 ><H3
 ><A
@@ -10821,7 +10574,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6234"
+NAME="AEN6195"
 ></A
 ><P
 ></P
@@ -10848,7 +10601,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10865,7 +10618,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10882,7 +10635,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace prefix</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10897,7 +10650,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace pointer or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -10908,7 +10661,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6255"
+NAME="AEN6216"
 ></A
 ><H3
 ><A
@@ -10950,7 +10703,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6265"
+NAME="AEN6226"
 ></A
 ><P
 ></P
@@ -10977,7 +10730,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10994,7 +10747,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11011,7 +10764,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11026,7 +10779,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace pointer or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11037,7 +10790,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6286"
+NAME="AEN6247"
 ></A
 ><H3
 ><A
@@ -11074,7 +10827,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6295"
+NAME="AEN6256"
 ></A
 ><P
 ></P
@@ -11101,7 +10854,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11118,7 +10871,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11133,9 +10886,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an NULL terminated array of all the xmlNsPtr found
-that need to be freed by the caller or NULL if no
-namespace if defined</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11146,7 +10897,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6312"
+NAME="AEN6273"
 ></A
 ><H3
 ><A
@@ -11180,7 +10931,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6320"
+NAME="AEN6281"
 ></A
 ><P
 ></P
@@ -11207,7 +10958,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node in the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11224,7 +10975,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a namespace pointer</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11235,7 +10986,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6333"
+NAME="AEN6294"
 ></A
 ><H3
 ><A
@@ -11268,7 +11019,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6341"
+NAME="AEN6302"
 ></A
 ><P
 ></P
@@ -11295,7 +11046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11310,7 +11061,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNsPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11321,7 +11072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6354"
+NAME="AEN6315"
 ></A
 ><H3
 ><A
@@ -11354,7 +11105,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6362"
+NAME="AEN6323"
 ></A
 ><P
 ></P
@@ -11381,7 +11132,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11396,7 +11147,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNsPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11407,7 +11158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6375"
+NAME="AEN6336"
 ></A
 ><H3
 ><A
@@ -11448,7 +11199,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6385"
+NAME="AEN6346"
 ></A
 ><P
 ></P
@@ -11475,7 +11226,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11492,7 +11243,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11509,7 +11260,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11524,7 +11275,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute pointer.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11535,7 +11286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6406"
+NAME="AEN6367"
 ></A
 ><H3
 ><A
@@ -11578,7 +11329,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6416"
+NAME="AEN6377"
 ></A
 ><P
 ></P
@@ -11605,7 +11356,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11622,7 +11373,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11637,8 +11388,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute value or NULL if not found.
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11649,7 +11399,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6433"
+NAME="AEN6394"
 ></A
 ><H3
 ><A
@@ -11691,7 +11441,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6443"
+NAME="AEN6404"
 ></A
 ><P
 ></P
@@ -11718,7 +11468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11735,7 +11485,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11750,8 +11500,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute or the attribute declaration or NULL if 
-neither was found.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11762,7 +11511,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6460"
+NAME="AEN6421"
 ></A
 ><H3
 ><A
@@ -11810,7 +11559,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6471"
+NAME="AEN6432"
 ></A
 ><P
 ></P
@@ -11837,7 +11586,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11854,7 +11603,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11871,7 +11620,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI of the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11886,8 +11635,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute or the attribute declaration or NULL
-if neither was found.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -11898,7 +11646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6492"
+NAME="AEN6453"
 ></A
 ><H3
 ><A
@@ -11944,7 +11692,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6503"
+NAME="AEN6464"
 ></A
 ><P
 ></P
@@ -11971,7 +11719,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11988,7 +11736,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace definition</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12005,7 +11753,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12022,7 +11770,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12037,7 +11785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute pointer.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12048,7 +11796,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6528"
+NAME="AEN6489"
 ></A
 ><H3
 ><A
@@ -12096,7 +11844,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6539"
+NAME="AEN6500"
 ></A
 ><P
 ></P
@@ -12123,7 +11871,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12140,7 +11888,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12157,7 +11905,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI of the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12172,8 +11920,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute value or NULL if not found.
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12184,7 +11931,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6560"
+NAME="AEN6521"
 ></A
 ><H3
 ><A
@@ -12222,7 +11969,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6569"
+NAME="AEN6530"
 ></A
 ><P
 ></P
@@ -12249,7 +11996,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12266,7 +12013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12281,7 +12028,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the first child</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12292,7 +12039,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6586"
+NAME="AEN6547"
 ></A
 ><H3
 ><A
@@ -12331,7 +12078,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6595"
+NAME="AEN6556"
 ></A
 ><P
 ></P
@@ -12358,7 +12105,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12375,7 +12122,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the text</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12392,7 +12139,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the string value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12407,7 +12154,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the first child</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12418,7 +12165,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6616"
+NAME="AEN6577"
 ></A
 ><H3
 ><A
@@ -12457,7 +12204,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6625"
+NAME="AEN6586"
 ></A
 ><P
 ></P
@@ -12484,7 +12231,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12501,7 +12248,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a Node list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12518,7 +12265,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  should we replace entity contents or show their external form</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12533,7 +12280,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the string copy, the calller must free it.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12544,7 +12291,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6646"
+NAME="AEN6607"
 ></A
 ><H3
 ><A
@@ -12587,7 +12334,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6656"
+NAME="AEN6617"
 ></A
 ><P
 ></P
@@ -12614,7 +12361,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12631,7 +12378,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a Node list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12648,7 +12395,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  should we replace entity contents or show their external form</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12663,7 +12410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the string copy, the calller must free it.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12674,7 +12421,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6677"
+NAME="AEN6638"
 ></A
 ><H3
 ><A
@@ -12708,7 +12455,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6685"
+NAME="AEN6646"
 ></A
 ><P
 ></P
@@ -12735,7 +12482,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12752,7 +12499,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new value of the content</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12763,7 +12510,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6698"
+NAME="AEN6659"
 ></A
 ><H3
 ><A
@@ -12798,7 +12545,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6706"
+NAME="AEN6667"
 ></A
 ><P
 ></P
@@ -12825,7 +12572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12842,7 +12589,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new value of the content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12859,12 +12606,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12875,7 +12617,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6724"
+NAME="AEN6684"
 ></A
 ><H3
 ><A
@@ -12909,7 +12651,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6732"
+NAME="AEN6692"
 ></A
 ><P
 ></P
@@ -12936,7 +12678,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -12953,7 +12695,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra content</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -12964,7 +12706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6745"
+NAME="AEN6705"
 ></A
 ><H3
 ><A
@@ -12999,7 +12741,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6753"
+NAME="AEN6713"
 ></A
 ><P
 ></P
@@ -13026,7 +12768,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13043,7 +12785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13060,12 +12802,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13076,7 +12813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6771"
+NAME="AEN6730"
 ></A
 ><H3
 ><A
@@ -13112,7 +12849,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6779"
+NAME="AEN6738"
 ></A
 ><P
 ></P
@@ -13139,7 +12876,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being read</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13154,8 +12891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * or NULL if no content is available.
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13166,7 +12902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6792"
+NAME="AEN6751"
 ></A
 ><H3
 ><A
@@ -13200,7 +12936,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6800"
+NAME="AEN6759"
 ></A
 ><P
 ></P
@@ -13227,7 +12963,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being checked</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13242,8 +12978,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the lang value, or NULL if not found
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13254,7 +12989,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6813"
+NAME="AEN6772"
 ></A
 ><H3
 ><A
@@ -13289,7 +13024,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6821"
+NAME="AEN6780"
 ></A
 ><P
 ></P
@@ -13316,7 +13051,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being changed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13333,7 +13068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the langage description</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13344,7 +13079,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6834"
+NAME="AEN6793"
 ></A
 ><H3
 ><A
@@ -13376,7 +13111,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6841"
+NAME="AEN6800"
 ></A
 ><P
 ></P
@@ -13403,7 +13138,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being checked</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13418,7 +13153,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->-1 if xml:space is not inheried, 0 if "default", 1 if "preserve"</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13429,7 +13164,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6854"
+NAME="AEN6813"
 ></A
 ><H3
 ><A
@@ -13464,7 +13199,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6862"
+NAME="AEN6821"
 ></A
 ><P
 ></P
@@ -13491,7 +13226,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being changed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13519,7 +13254,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6875"
+NAME="AEN6834"
 ></A
 ><H3
 ><A
@@ -13566,7 +13301,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6885"
+NAME="AEN6844"
 ></A
 ><P
 ></P
@@ -13593,7 +13328,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document the node pertains to</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13610,7 +13345,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being checked</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13625,8 +13360,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the base URL, or NULL if not found
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13637,7 +13371,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6902"
+NAME="AEN6861"
 ></A
 ><H3
 ><A
@@ -13672,7 +13406,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6910"
+NAME="AEN6869"
 ></A
 ><P
 ></P
@@ -13699,7 +13433,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being changed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13716,7 +13450,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new base URI</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13727,7 +13461,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6923"
+NAME="AEN6882"
 ></A
 ><H3
 ><A
@@ -13758,7 +13492,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6930"
+NAME="AEN6889"
 ></A
 ><P
 ></P
@@ -13800,7 +13534,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 if success and -1 in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13811,7 +13545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6943"
+NAME="AEN6902"
 ></A
 ><H3
 ><A
@@ -13839,7 +13573,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6949"
+NAME="AEN6908"
 ></A
 ><P
 ></P
@@ -13892,7 +13626,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6962"
+NAME="AEN6921"
 ></A
 ><H3
 ><A
@@ -13926,7 +13660,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6970"
+NAME="AEN6929"
 ></A
 ><P
 ></P
@@ -13953,7 +13687,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13970,7 +13704,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -13985,7 +13719,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 if successful, -1 if not found</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -13996,7 +13730,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6987"
+NAME="AEN6946"
 ></A
 ><H3
 ><A
@@ -14034,7 +13768,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN6996"
+NAME="AEN6955"
 ></A
 ><P
 ></P
@@ -14061,7 +13795,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14078,7 +13812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace definition</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14095,7 +13829,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14110,7 +13844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 if successful, -1 if not found</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14121,7 +13855,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7017"
+NAME="AEN6976"
 ></A
 ><H3
 ><A
@@ -14149,11 +13883,15 @@
 ></TR
 ></TABLE
 ><P
+>For VMS only.
+routine which manages and grows an output buffer. This one adds
+xmlChars at the end of the buffer.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7024"
+NAME="AEN6984"
 ></A
 ><P
 ></P
@@ -14208,7 +13946,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7037"
+NAME="AEN6997"
 ></A
 ><H3
 ><A
@@ -14243,7 +13981,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7045"
+NAME="AEN7005"
 ></A
 ><P
 ></P
@@ -14270,7 +14008,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14287,7 +14025,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14298,7 +14036,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7058"
+NAME="AEN7018"
 ></A
 ><H3
 ><A
@@ -14330,7 +14068,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7065"
+NAME="AEN7025"
 ></A
 ><P
 ></P
@@ -14357,7 +14095,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14374,7 +14112,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14385,7 +14123,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7078"
+NAME="AEN7038"
 ></A
 ><H3
 ><A
@@ -14421,7 +14159,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7086"
+NAME="AEN7046"
 ></A
 ><P
 ></P
@@ -14448,7 +14186,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14465,7 +14203,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14476,7 +14214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7099"
+NAME="AEN7059"
 ></A
 ><H3
 ><A
@@ -14521,7 +14259,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7108"
+NAME="AEN7068"
 ></A
 ><P
 ></P
@@ -14548,7 +14286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14565,7 +14303,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node defining the subtree to reconciliate</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14580,7 +14318,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of namespace declarations created or -1 in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14591,7 +14329,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7125"
+NAME="AEN7085"
 ></A
 ><H3
 ><A
@@ -14628,7 +14366,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7133"
+NAME="AEN7093"
 ></A
 ><P
 ></P
@@ -14655,7 +14393,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14672,7 +14410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14689,7 +14427,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory lenght</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14706,7 +14444,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  should formatting spaces been added</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14717,7 +14455,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7154"
+NAME="AEN7114"
 ></A
 ><H3
 ><A
@@ -14753,7 +14491,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7162"
+NAME="AEN7122"
 ></A
 ><P
 ></P
@@ -14780,7 +14518,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14797,7 +14535,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14814,7 +14552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory lenght</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14825,7 +14563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7179"
+NAME="AEN7139"
 ></A
 ><H3
 ><A
@@ -14863,7 +14601,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7187"
+NAME="AEN7147"
 ></A
 ><P
 ></P
@@ -14890,7 +14628,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  Document to generate XML text from</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14907,7 +14645,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  Memory pointer for allocated XML text</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14924,7 +14662,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  Length of the generated XML text</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -14941,7 +14679,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  Character encoding to use when generating XML text</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -14952,7 +14690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7208"
+NAME="AEN7168"
 ></A
 ><H3
 ><A
@@ -14983,11 +14721,15 @@
 ></TR
 ></TABLE
 ><P
+>Dump the current DOM tree into memory using the character encoding specified
+by the caller.  Note it is up to the caller of this function to free the
+allocated memory.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7215"
+NAME="AEN7176"
 ></A
 ><P
 ></P
@@ -15093,7 +14835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7240"
+NAME="AEN7201"
 ></A
 ><H3
 ><A
@@ -15127,7 +14869,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7248"
+NAME="AEN7209"
 ></A
 ><P
 ></P
@@ -15154,7 +14896,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the FILE*</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15171,7 +14913,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15186,7 +14928,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15197,7 +14939,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7265"
+NAME="AEN7226"
 ></A
 ><H3
 ><A
@@ -15235,7 +14977,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7274"
+NAME="AEN7235"
 ></A
 ><P
 ></P
@@ -15262,7 +15004,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the FILE * for the output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15279,7 +15021,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15296,7 +15038,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15307,7 +15049,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7291"
+NAME="AEN7252"
 ></A
 ><H3
 ><A
@@ -15345,7 +15087,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7299"
+NAME="AEN7260"
 ></A
 ><P
 ></P
@@ -15372,7 +15114,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename (or URL)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15389,7 +15131,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15404,7 +15146,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15415,7 +15157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7316"
+NAME="AEN7277"
 ></A
 ><H3
 ><A
@@ -15454,7 +15196,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7324"
+NAME="AEN7285"
 ></A
 ><P
 ></P
@@ -15481,7 +15223,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename (or URL)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15498,7 +15240,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15515,7 +15257,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  should formatting spaces been added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15530,7 +15272,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15541,7 +15283,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7345"
+NAME="AEN7306"
 ></A
 ><H3
 ><A
@@ -15581,7 +15323,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7354"
+NAME="AEN7315"
 ></A
 ><P
 ></P
@@ -15608,7 +15350,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15625,7 +15367,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15642,7 +15384,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15659,7 +15401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the imbrication level for indenting</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15676,7 +15418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> is formatting allowed</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15687,7 +15429,144 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7379"
+NAME="AEN7340"
+></A
+><H3
+><A
+NAME="XMLSAVEFORMATFILEENC"
+></A
+>xmlSaveFormatFileEnc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSaveFormatFileEnc            (const char *filename,
+                                             <A
+HREF="libxml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding,
+                                             int format);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN7347"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</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"
+><TT
+CLASS="PARAMETER"
+><I
+>encoding</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
+>format</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"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7372"
 ></A
 ><H3
 ><A
@@ -15719,7 +15598,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7386"
+NAME="AEN7379"
 ></A
 ><P
 ></P
@@ -15746,7 +15625,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename (or URL)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15763,7 +15642,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15780,7 +15659,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of an encoding (or NULL)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15795,7 +15674,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15806,7 +15685,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7407"
+NAME="AEN7400"
 ></A
 ><H3
 ><A
@@ -15836,7 +15715,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7414"
+NAME="AEN7407"
 ></A
 ><P
 ></P
@@ -15863,7 +15742,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15878,7 +15757,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 (uncompressed) to 9 (max compression)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15889,7 +15768,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7427"
+NAME="AEN7420"
 ></A
 ><H3
 ><A
@@ -15921,7 +15800,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7434"
+NAME="AEN7427"
 ></A
 ><P
 ></P
@@ -15948,7 +15827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -15965,7 +15844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the compression ratio</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -15976,7 +15855,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7447"
+NAME="AEN7440"
 ></A
 ><H3
 ><A
@@ -16003,7 +15882,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7453"
+NAME="AEN7446"
 ></A
 ><P
 ></P
@@ -16028,7 +15907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 (uncompressed) to 9 (max compression)</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -16039,7 +15918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7462"
+NAME="AEN7455"
 ></A
 ><H3
 ><A
@@ -16067,7 +15946,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN7468"
+NAME="AEN7461"
 ></A
 ><P
 ></P
@@ -16094,7 +15973,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the compression ratio</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html
index 702fe90..e4adf22 100644
--- a/doc/html/libxml-uri.html
+++ b/doc/html/libxml-uri.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9740"
+NAME="AEN9687"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9743"
+NAME="AEN9690"
 ></A
 ><H2
 >Synopsis</H2
@@ -180,7 +180,7 @@
 >   <A
 HREF="libxml-uri.html#XMLPARSEURI"
 >xmlParseURI</A
->                     (const char *URI);
+>                     (const char *str);
 int         <A
 HREF="libxml-uri.html#XMLPARSEURIREFERENCE"
 >xmlParseURIReference</A
@@ -258,7 +258,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9775"
+NAME="AEN9722"
 ></A
 ><H2
 >Description</H2
@@ -268,14 +268,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9778"
+NAME="AEN9725"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9780"
+NAME="AEN9727"
 ></A
 ><H3
 ><A
@@ -292,52 +292,52 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >struct xmlURI {
-
-    char *scheme;
-
-    char *opaque;
-
-    char *authority;
-
-    char *server;
-
-    char *user;
-
-    int port;
-
-    char *path;
-
-    char *query;
-
-    char *fragment;
-
-};&#13;</PRE
+    char *scheme;	/* the URI scheme */
+    char *opaque;	/* opaque part */
+    char *authority;	/* the authority part */
+    char *server;	/* the server part */
+    char *user;		/* the user part */
+    int port;		/* the port number */
+    char *path;		/* the path string */
+    char *query;	/* the query string */
+    char *fragment;	/* the fragment identifier */
+};</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->A parsed URI reference. This is a struct containing the various fields
-as described in RFC 2396 but separated for further processing</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9786"
+NAME="AEN9732"
 ></A
 ><H3
 ><A
 NAME="XMLURIPTR"
 ></A
 >xmlURIPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlURI *xmlURIPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9790"
+NAME="AEN9737"
 ></A
 ><H3
 ><A
@@ -367,7 +367,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9797"
+NAME="AEN9744"
 ></A
 ><P
 ></P
@@ -392,7 +392,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new structure or NULL in case of error</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -403,7 +403,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9806"
+NAME="AEN9753"
 ></A
 ><H3
 ><A
@@ -445,7 +445,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9816"
+NAME="AEN9763"
 ></A
 ><P
 ></P
@@ -472,7 +472,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI instance found in the document</TD
 ></TR
 ><TR
 ><TD
@@ -489,7 +489,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the base value</TD
 ></TR
 ><TR
 ><TD
@@ -504,7 +504,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new URI string (to be freed by the caller) or NULL in case
+of error.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -515,7 +516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9833"
+NAME="AEN9780"
 ></A
 ><H3
 ><A
@@ -534,7 +535,7 @@
 ><A
 HREF="libxml-uri.html#XMLURIPTR"
 >xmlURIPtr</A
->   xmlParseURI                     (const char *URI);</PRE
+>   xmlParseURI                     (const char *str);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -547,7 +548,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9841"
+NAME="AEN9788"
 ></A
 ><P
 ></P
@@ -567,14 +568,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->URI</I
+>str</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI string to analyze</TD
 ></TR
 ><TR
 ><TD
@@ -589,7 +590,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a newly build xmlURIPtr or NULL in case of error</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -600,7 +601,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9854"
+NAME="AEN9801"
 ></A
 ><H3
 ><A
@@ -639,7 +640,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9863"
+NAME="AEN9810"
 ></A
 ><P
 ></P
@@ -666,7 +667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to an URI structure</TD
 ></TR
 ><TR
 ><TD
@@ -683,7 +684,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string to analyze</TD
 ></TR
 ><TR
 ><TD
@@ -698,7 +699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 or the error code</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -709,7 +710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9880"
+NAME="AEN9827"
 ></A
 ><H3
 ><A
@@ -742,7 +743,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9888"
+NAME="AEN9835"
 ></A
 ><P
 ></P
@@ -769,7 +770,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to an xmlURI</TD
 ></TR
 ><TR
 ><TD
@@ -784,7 +785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new string (to be deallocated by caller)</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -795,7 +796,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9901"
+NAME="AEN9848"
 ></A
 ><H3
 ><A
@@ -834,7 +835,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9910"
+NAME="AEN9857"
 ></A
 ><P
 ></P
@@ -861,7 +862,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a FILE* for the output</TD
 ></TR
 ><TR
 ><TD
@@ -878,7 +879,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to an xmlURI</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -889,7 +890,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9923"
+NAME="AEN9870"
 ></A
 ><H3
 ><A
@@ -927,7 +928,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9932"
+NAME="AEN9879"
 ></A
 ><P
 ></P
@@ -954,7 +955,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  string to escape</TD
 ></TR
 ><TR
 ><TD
@@ -971,7 +972,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> exception list string of chars not to escape</TD
 ></TR
 ><TR
 ><TD
@@ -986,7 +987,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new escaped string or NULL in case of error.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -997,7 +998,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9949"
+NAME="AEN9896"
 ></A
 ><H3
 ><A
@@ -1030,7 +1031,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9956"
+NAME="AEN9903"
 ></A
 ><P
 ></P
@@ -1057,7 +1058,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string to unescape</TD
 ></TR
 ><TR
 ><TD
@@ -1074,7 +1075,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>   the lenght in bytes to unescape (or &lt;= 0 to indicate full string)</TD
 ></TR
 ><TR
 ><TD
@@ -1091,7 +1092,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  optionnal destination buffer</TD
 ></TR
 ><TR
 ><TD
@@ -1106,7 +1107,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>an copy of the string, but unescaped</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1117,7 +1118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9977"
+NAME="AEN9924"
 ></A
 ><H3
 ><A
@@ -1147,7 +1148,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9984"
+NAME="AEN9931"
 ></A
 ><P
 ></P
@@ -1174,7 +1175,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the path string</TD
 ></TR
 ><TR
 ><TD
@@ -1189,7 +1190,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 or an error code</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1200,7 +1201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9997"
+NAME="AEN9944"
 ></A
 ><H3
 ><A
@@ -1235,7 +1236,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10005"
+NAME="AEN9952"
 ></A
 ><P
 ></P
@@ -1262,7 +1263,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string of the URI to escape</TD
 ></TR
 ><TR
 ><TD
@@ -1277,7 +1278,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>an copy of the string, but escaped
+
+25 May 2001
+Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly
+according to RFC2396.
+- Carl Douglas</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1288,7 +1294,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10018"
+NAME="AEN9965"
 ></A
 ><H3
 ><A
@@ -1318,7 +1324,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10025"
+NAME="AEN9972"
 ></A
 ><P
 ></P
@@ -1345,7 +1351,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to an xmlURI</TD
 ></TR
 ></TBODY
 ></TABLE
diff --git a/doc/html/libxml-valid.html b/doc/html/libxml-valid.html
index 90cb20a..521f398 100644
--- a/doc/html/libxml-valid.html
+++ b/doc/html/libxml-valid.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7954"
+NAME="AEN7947"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7957"
+NAME="AEN7950"
 ></A
 ><H2
 >Synopsis</H2
@@ -507,16 +507,6 @@
 HREF="libxml-tree.html#XMLATTRPTR"
 >xmlAttrPtr</A
 > attr);
-<A
-HREF="libxml-valid.html#XMLIDTABLEPTR"
->xmlIDTablePtr</A
-> <A
-HREF="libxml-valid.html#XMLCOPYIDTABLE"
->xmlCopyIDTable</A
->                (<A
-HREF="libxml-valid.html#XMLIDTABLEPTR"
->xmlIDTablePtr</A
-> table);
 void        <A
 HREF="libxml-valid.html#XMLFREEIDTABLE"
 >xmlFreeIDTable</A
@@ -586,16 +576,6 @@
 HREF="libxml-tree.html#XMLATTRPTR"
 >xmlAttrPtr</A
 > attr);
-<A
-HREF="libxml-valid.html#XMLREFTABLEPTR"
->xmlRefTablePtr</A
-> <A
-HREF="libxml-valid.html#XMLCOPYREFTABLE"
->xmlCopyRefTable</A
->              (<A
-HREF="libxml-valid.html#XMLREFTABLEPTR"
->xmlRefTablePtr</A
-> table);
 void        <A
 HREF="libxml-valid.html#XMLFREEREFTABLE"
 >xmlFreeRefTable</A
@@ -941,7 +921,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8174"
+NAME="AEN8161"
 ></A
 ><H2
 >Description</H2
@@ -951,14 +931,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8177"
+NAME="AEN8164"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8179"
+NAME="AEN8166"
 ></A
 ><H3
 ><A
@@ -984,7 +964,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8184"
+NAME="AEN8171"
 ></A
 ><H3
 ><A
@@ -1010,7 +990,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8189"
+NAME="AEN8176"
 ></A
 ><H3
 ><A
@@ -1037,7 +1017,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8194"
+NAME="AEN8181"
 ></A
 ><P
 ></P
@@ -1109,7 +1089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8211"
+NAME="AEN8198"
 ></A
 ><H3
 ><A
@@ -1136,7 +1116,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8216"
+NAME="AEN8203"
 ></A
 ><P
 ></P
@@ -1208,7 +1188,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8233"
+NAME="AEN8220"
 ></A
 ><H3
 ><A
@@ -1254,7 +1234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8238"
+NAME="AEN8225"
 ></A
 ><H3
 ><A
@@ -1280,7 +1260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8243"
+NAME="AEN8230"
 ></A
 ><H3
 ><A
@@ -1306,7 +1286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8248"
+NAME="AEN8235"
 ></A
 ><H3
 ><A
@@ -1332,7 +1312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8253"
+NAME="AEN8240"
 ></A
 ><H3
 ><A
@@ -1358,7 +1338,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8258"
+NAME="AEN8245"
 ></A
 ><H3
 ><A
@@ -1384,7 +1364,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8263"
+NAME="AEN8250"
 ></A
 ><H3
 ><A
@@ -1410,7 +1390,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8268"
+NAME="AEN8255"
 ></A
 ><H3
 ><A
@@ -1453,7 +1433,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8280"
+NAME="AEN8267"
 ></A
 ><P
 ></P
@@ -1524,7 +1504,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8297"
+NAME="AEN8284"
 ></A
 ><H3
 ><A
@@ -1573,7 +1553,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8309"
+NAME="AEN8296"
 ></A
 ><P
 ></P
@@ -1694,7 +1674,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8338"
+NAME="AEN8325"
 ></A
 ><H3
 ><A
@@ -1727,7 +1707,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8346"
+NAME="AEN8333"
 ></A
 ><P
 ></P
@@ -1780,7 +1760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8359"
+NAME="AEN8346"
 ></A
 ><H3
 ><A
@@ -1810,7 +1790,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8366"
+NAME="AEN8353"
 ></A
 ><P
 ></P
@@ -1848,7 +1828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8375"
+NAME="AEN8362"
 ></A
 ><H3
 ><A
@@ -1882,7 +1862,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8383"
+NAME="AEN8370"
 ></A
 ><P
 ></P
@@ -1937,7 +1917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8396"
+NAME="AEN8383"
 ></A
 ><H3
 ><A
@@ -1971,7 +1951,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8404"
+NAME="AEN8391"
 ></A
 ><P
 ></P
@@ -2026,7 +2006,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8417"
+NAME="AEN8404"
 ></A
 ><H3
 ><A
@@ -2063,7 +2043,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8426"
+NAME="AEN8413"
 ></A
 ><P
 ></P
@@ -2133,7 +2113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8443"
+NAME="AEN8430"
 ></A
 ><H3
 ><A
@@ -2166,7 +2146,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8451"
+NAME="AEN8438"
 ></A
 ><P
 ></P
@@ -2219,7 +2199,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8464"
+NAME="AEN8451"
 ></A
 ><H3
 ><A
@@ -2249,7 +2229,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8471"
+NAME="AEN8458"
 ></A
 ><P
 ></P
@@ -2287,7 +2267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8480"
+NAME="AEN8467"
 ></A
 ><H3
 ><A
@@ -2320,7 +2300,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8487"
+NAME="AEN8474"
 ></A
 ><P
 ></P
@@ -2392,7 +2372,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8504"
+NAME="AEN8491"
 ></A
 ><H3
 ><A
@@ -2441,7 +2421,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8516"
+NAME="AEN8503"
 ></A
 ><P
 ></P
@@ -2562,7 +2542,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8545"
+NAME="AEN8532"
 ></A
 ><H3
 ><A
@@ -2595,7 +2575,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8553"
+NAME="AEN8540"
 ></A
 ><P
 ></P
@@ -2648,7 +2628,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8566"
+NAME="AEN8553"
 ></A
 ><H3
 ><A
@@ -2678,7 +2658,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8573"
+NAME="AEN8560"
 ></A
 ><P
 ></P
@@ -2716,7 +2696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8582"
+NAME="AEN8569"
 ></A
 ><H3
 ><A
@@ -2750,7 +2730,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8590"
+NAME="AEN8577"
 ></A
 ><P
 ></P
@@ -2805,7 +2785,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8603"
+NAME="AEN8590"
 ></A
 ><H3
 ><A
@@ -2840,7 +2820,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8611"
+NAME="AEN8598"
 ></A
 ><P
 ></P
@@ -2895,7 +2875,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8624"
+NAME="AEN8611"
 ></A
 ><H3
 ><A
@@ -2928,7 +2908,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8632"
+NAME="AEN8619"
 ></A
 ><P
 ></P
@@ -2982,7 +2962,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8645"
+NAME="AEN8632"
 ></A
 ><H3
 ><A
@@ -3012,7 +2992,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8652"
+NAME="AEN8639"
 ></A
 ><P
 ></P
@@ -3050,7 +3030,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8661"
+NAME="AEN8648"
 ></A
 ><H3
 ><A
@@ -3083,7 +3063,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8669"
+NAME="AEN8656"
 ></A
 ><P
 ></P
@@ -3137,7 +3117,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8682"
+NAME="AEN8669"
 ></A
 ><H3
 ><A
@@ -3208,7 +3188,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8699"
+NAME="AEN8686"
 ></A
 ><P
 ></P
@@ -3397,7 +3377,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8744"
+NAME="AEN8731"
 ></A
 ><H3
 ><A
@@ -3430,7 +3410,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8752"
+NAME="AEN8739"
 ></A
 ><P
 ></P
@@ -3483,7 +3463,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8765"
+NAME="AEN8752"
 ></A
 ><H3
 ><A
@@ -3513,7 +3493,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8772"
+NAME="AEN8759"
 ></A
 ><P
 ></P
@@ -3551,7 +3531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8781"
+NAME="AEN8768"
 ></A
 ><H3
 ><A
@@ -3585,7 +3565,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8789"
+NAME="AEN8776"
 ></A
 ><P
 ></P
@@ -3640,7 +3620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8802"
+NAME="AEN8789"
 ></A
 ><H3
 ><A
@@ -3675,7 +3655,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8810"
+NAME="AEN8797"
 ></A
 ><P
 ></P
@@ -3730,7 +3710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8823"
+NAME="AEN8810"
 ></A
 ><H3
 ><A
@@ -3775,7 +3755,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8834"
+NAME="AEN8821"
 ></A
 ><P
 ></P
@@ -3879,91 +3859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8859"
-></A
-><H3
-><A
-NAME="XMLCOPYIDTABLE"
-></A
->xmlCopyIDTable ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxml-valid.html#XMLIDTABLEPTR"
->xmlIDTablePtr</A
-> xmlCopyIDTable                (<A
-HREF="libxml-valid.html#XMLIDTABLEPTR"
->xmlIDTablePtr</A
-> table);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8866"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</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"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8879"
+NAME="AEN8846"
 ></A
 ><H3
 ><A
@@ -3993,7 +3889,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8886"
+NAME="AEN8853"
 ></A
 ><P
 ></P
@@ -4031,7 +3927,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8895"
+NAME="AEN8862"
 ></A
 ><H3
 ><A
@@ -4068,7 +3964,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8904"
+NAME="AEN8871"
 ></A
 ><P
 ></P
@@ -4138,7 +4034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8921"
+NAME="AEN8888"
 ></A
 ><H3
 ><A
@@ -4178,7 +4074,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8930"
+NAME="AEN8897"
 ></A
 ><P
 ></P
@@ -4265,7 +4161,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8951"
+NAME="AEN8918"
 ></A
 ><H3
 ><A
@@ -4299,7 +4195,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8959"
+NAME="AEN8926"
 ></A
 ><P
 ></P
@@ -4369,7 +4265,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8976"
+NAME="AEN8943"
 ></A
 ><H3
 ><A
@@ -4414,7 +4310,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN8987"
+NAME="AEN8954"
 ></A
 ><P
 ></P
@@ -4518,91 +4414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9012"
-></A
-><H3
-><A
-NAME="XMLCOPYREFTABLE"
-></A
->xmlCopyRefTable ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxml-valid.html#XMLREFTABLEPTR"
->xmlRefTablePtr</A
-> xmlCopyRefTable              (<A
-HREF="libxml-valid.html#XMLREFTABLEPTR"
->xmlRefTablePtr</A
-> table);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN9019"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</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"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9032"
+NAME="AEN8979"
 ></A
 ><H3
 ><A
@@ -4632,7 +4444,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9039"
+NAME="AEN8986"
 ></A
 ><P
 ></P
@@ -4670,7 +4482,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9048"
+NAME="AEN8995"
 ></A
 ><H3
 ><A
@@ -4710,7 +4522,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9057"
+NAME="AEN9004"
 ></A
 ><P
 ></P
@@ -4797,7 +4609,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9078"
+NAME="AEN9025"
 ></A
 ><H3
 ><A
@@ -4831,7 +4643,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9086"
+NAME="AEN9033"
 ></A
 ><P
 ></P
@@ -4901,7 +4713,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9103"
+NAME="AEN9050"
 ></A
 ><H3
 ><A
@@ -4938,7 +4750,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9112"
+NAME="AEN9059"
 ></A
 ><P
 ></P
@@ -5008,7 +4820,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9129"
+NAME="AEN9076"
 ></A
 ><H3
 ><A
@@ -5046,7 +4858,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9137"
+NAME="AEN9084"
 ></A
 ><P
 ></P
@@ -5116,7 +4928,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9154"
+NAME="AEN9101"
 ></A
 ><H3
 ><A
@@ -5159,7 +4971,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9163"
+NAME="AEN9110"
 ></A
 ><P
 ></P
@@ -5246,7 +5058,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9184"
+NAME="AEN9131"
 ></A
 ><H3
 ><A
@@ -5306,7 +5118,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9199"
+NAME="AEN9146"
 ></A
 ><P
 ></P
@@ -5411,7 +5223,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9224"
+NAME="AEN9171"
 ></A
 ><H3
 ><A
@@ -5456,7 +5268,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9234"
+NAME="AEN9181"
 ></A
 ><P
 ></P
@@ -5543,7 +5355,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9255"
+NAME="AEN9202"
 ></A
 ><H3
 ><A
@@ -5592,7 +5404,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9267"
+NAME="AEN9214"
 ></A
 ><P
 ></P
@@ -5662,7 +5474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9284"
+NAME="AEN9231"
 ></A
 ><H3
 ><A
@@ -5704,7 +5516,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9293"
+NAME="AEN9240"
 ></A
 ><P
 ></P
@@ -5791,7 +5603,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9314"
+NAME="AEN9261"
 ></A
 ><H3
 ><A
@@ -5831,7 +5643,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9324"
+NAME="AEN9271"
 ></A
 ><P
 ></P
@@ -5918,7 +5730,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9345"
+NAME="AEN9292"
 ></A
 ><H3
 ><A
@@ -5959,7 +5771,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9354"
+NAME="AEN9301"
 ></A
 ><P
 ></P
@@ -6029,7 +5841,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9371"
+NAME="AEN9318"
 ></A
 ><H3
 ><A
@@ -6067,7 +5879,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9380"
+NAME="AEN9327"
 ></A
 ><P
 ></P
@@ -6137,7 +5949,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9397"
+NAME="AEN9344"
 ></A
 ><H3
 ><A
@@ -6175,7 +5987,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9406"
+NAME="AEN9353"
 ></A
 ><P
 ></P
@@ -6262,7 +6074,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9427"
+NAME="AEN9374"
 ></A
 ><H3
 ><A
@@ -6310,7 +6122,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9438"
+NAME="AEN9385"
 ></A
 ><P
 ></P
@@ -6397,7 +6209,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9459"
+NAME="AEN9406"
 ></A
 ><H3
 ><A
@@ -6455,7 +6267,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9471"
+NAME="AEN9418"
 ></A
 ><P
 ></P
@@ -6576,7 +6388,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9500"
+NAME="AEN9447"
 ></A
 ><H3
 ><A
@@ -6613,7 +6425,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9509"
+NAME="AEN9456"
 ></A
 ><P
 ></P
@@ -6683,7 +6495,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9526"
+NAME="AEN9473"
 ></A
 ><H3
 ><A
@@ -6722,7 +6534,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9535"
+NAME="AEN9482"
 ></A
 ><P
 ></P
@@ -6809,7 +6621,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9556"
+NAME="AEN9503"
 ></A
 ><H3
 ><A
@@ -6844,7 +6656,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9564"
+NAME="AEN9511"
 ></A
 ><P
 ></P
@@ -6914,7 +6726,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9581"
+NAME="AEN9528"
 ></A
 ><H3
 ><A
@@ -6956,7 +6768,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9591"
+NAME="AEN9538"
 ></A
 ><P
 ></P
@@ -7043,7 +6855,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9612"
+NAME="AEN9559"
 ></A
 ><H3
 ><A
@@ -7080,7 +6892,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9621"
+NAME="AEN9568"
 ></A
 ><P
 ></P
@@ -7150,7 +6962,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9638"
+NAME="AEN9585"
 ></A
 ><H3
 ><A
@@ -7187,7 +6999,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9647"
+NAME="AEN9594"
 ></A
 ><P
 ></P
@@ -7257,7 +7069,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9664"
+NAME="AEN9611"
 ></A
 ><H3
 ><A
@@ -7317,7 +7129,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9676"
+NAME="AEN9623"
 ></A
 ><P
 ></P
@@ -7428,7 +7240,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9702"
+NAME="AEN9649"
 ></A
 ><H3
 ><A
@@ -7464,7 +7276,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN9710"
+NAME="AEN9657"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
index 766e21a..3afa78b 100644
--- a/doc/html/libxml-xinclude.html
+++ b/doc/html/libxml-xinclude.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN15598"
+NAME="AEN16415"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN15601"
+NAME="AEN16418"
 ></A
 ><H2
 >Synopsis</H2
@@ -159,7 +159,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15606"
+NAME="AEN16423"
 ></A
 ><H2
 >Description</H2
@@ -169,14 +169,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15609"
+NAME="AEN16426"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15611"
+NAME="AEN16428"
 ></A
 ><H3
 ><A
@@ -211,7 +211,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15619"
+NAME="AEN16436"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index d43cd80..f11811c 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN10039"
+NAME="AEN9986"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN10042"
+NAME="AEN9989"
 ></A
 ><H2
 >Synopsis</H2
@@ -208,7 +208,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10057"
+NAME="AEN10004"
 ></A
 ><H2
 >Description</H2
@@ -218,14 +218,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10060"
+NAME="AEN10007"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10062"
+NAME="AEN10009"
 ></A
 ><H3
 ><A
@@ -378,7 +378,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10067"
+NAME="AEN10014"
 ></A
 ><H3
 ><A
@@ -405,7 +405,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10072"
+NAME="AEN10019"
 ></A
 ><P
 ></P
@@ -477,7 +477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10089"
+NAME="AEN10036"
 ></A
 ><H3
 ><A
@@ -539,7 +539,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10101"
+NAME="AEN10048"
 ></A
 ><P
 ></P
@@ -594,7 +594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10114"
+NAME="AEN10061"
 ></A
 ><H3
 ><A
@@ -624,7 +624,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10120"
+NAME="AEN10067"
 ></A
 ><P
 ></P
@@ -696,7 +696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10137"
+NAME="AEN10084"
 ></A
 ><H3
 ><A
@@ -726,7 +726,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10143"
+NAME="AEN10090"
 ></A
 ><P
 ></P
@@ -798,7 +798,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10160"
+NAME="AEN10107"
 ></A
 ><H3
 ><A
@@ -828,7 +828,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10166"
+NAME="AEN10113"
 ></A
 ><P
 ></P
@@ -900,7 +900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10183"
+NAME="AEN10130"
 ></A
 ><H3
 ><A
@@ -930,7 +930,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10189"
+NAME="AEN10136"
 ></A
 ><P
 ></P
@@ -1002,7 +1002,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10206"
+NAME="AEN10153"
 ></A
 ><H3
 ><A
@@ -1032,7 +1032,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10213"
+NAME="AEN10160"
 ></A
 ><P
 ></P
@@ -1070,7 +1070,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10222"
+NAME="AEN10169"
 ></A
 ><H3
 ><A
@@ -1100,7 +1100,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN10229"
+NAME="AEN10176"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xmlio.html b/doc/html/libxml-xmlio.html
index 26e393d..e2e77b3 100644
--- a/doc/html/libxml-xmlio.html
+++ b/doc/html/libxml-xmlio.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN16477"
+NAME="AEN17301"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN16480"
+NAME="AEN17304"
 ></A
 ><H2
 >Synopsis</H2
@@ -159,7 +159,7 @@
 >)         (void *context,
                                              char *buffer,
                                              int len);
-void        (<A
+int         (<A
 HREF="libxml-xmlio.html#XMLINPUTCLOSECALLBACK"
 >*xmlInputCloseCallback</A
 >)        (void *context);
@@ -185,7 +185,7 @@
 >)       (void *context,
                                              const char *buffer,
                                              int len);
-void        (<A
+int         (<A
 HREF="libxml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
 >*xmlOutputCloseCallback</A
 >)       (void *context);
@@ -475,6 +475,11 @@
 HREF="libxml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
 >xmlOutputCloseCallback</A
 > closeFunc);
+void*       <A
+HREF="libxml-xmlio.html#XMLIOHTTPOPENW"
+>xmlIOHTTPOpenW</A
+>                  (const char *post_uri,
+                                             int compression);
 int         <A
 HREF="libxml-xmlio.html#XMLSAVEFILETO"
 >xmlSaveFileTo</A
@@ -537,7 +542,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN16579"
+NAME="AEN17404"
 ></A
 ><H2
 >Description</H2
@@ -547,14 +552,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN16582"
+NAME="AEN17407"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16584"
+NAME="AEN17409"
 ></A
 ><H3
 ><A
@@ -579,7 +584,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16589"
+NAME="AEN17414"
 ></A
 ><P
 ></P
@@ -632,7 +637,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16602"
+NAME="AEN17427"
 ></A
 ><H3
 ><A
@@ -657,7 +662,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16607"
+NAME="AEN17432"
 ></A
 ><P
 ></P
@@ -695,7 +700,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16616"
+NAME="AEN17441"
 ></A
 ><H3
 ><A
@@ -722,7 +727,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16621"
+NAME="AEN17446"
 ></A
 ><P
 ></P
@@ -809,7 +814,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16642"
+NAME="AEN17467"
 ></A
 ><H3
 ><A
@@ -825,7 +830,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlInputCloseCallback)        (void *context);</PRE
+>int         (*xmlInputCloseCallback)        (void *context);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -834,7 +839,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16647"
+NAME="AEN17472"
 ></A
 ><P
 ></P
@@ -863,6 +868,21 @@
 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"
+>&nbsp;</TD
+></TR
 ></TBODY
 ></TABLE
 ><P
@@ -872,7 +892,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16656"
+NAME="AEN17485"
 ></A
 ><H3
 ><A
@@ -907,33 +927,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16661"
+NAME="AEN17490"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERINPUTBUFFERPTR"
 ></A
 >xmlParserInputBufferPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserInputBuffer *xmlParserInputBufferPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16666"
+NAME="AEN17494"
 ></A
 ><H3
 ><A
@@ -958,7 +965,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16671"
+NAME="AEN17499"
 ></A
 ><P
 ></P
@@ -1011,7 +1018,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16684"
+NAME="AEN17512"
 ></A
 ><H3
 ><A
@@ -1036,7 +1043,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16689"
+NAME="AEN17517"
 ></A
 ><P
 ></P
@@ -1074,7 +1081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16698"
+NAME="AEN17526"
 ></A
 ><H3
 ><A
@@ -1101,7 +1108,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16703"
+NAME="AEN17531"
 ></A
 ><P
 ></P
@@ -1188,7 +1195,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16724"
+NAME="AEN17552"
 ></A
 ><H3
 ><A
@@ -1204,7 +1211,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlOutputCloseCallback)       (void *context);</PRE
+>int         (*xmlOutputCloseCallback)       (void *context);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1213,7 +1220,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16729"
+NAME="AEN17557"
 ></A
 ><P
 ></P
@@ -1242,6 +1249,21 @@
 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"
+>&nbsp;</TD
+></TR
 ></TBODY
 ></TABLE
 ><P
@@ -1251,7 +1273,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16738"
+NAME="AEN17570"
 ></A
 ><H3
 ><A
@@ -1287,33 +1309,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16743"
+NAME="AEN17575"
 ></A
 ><H3
 ><A
 NAME="XMLOUTPUTBUFFERPTR"
 ></A
 >xmlOutputBufferPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlOutputBuffer *xmlOutputBufferPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16748"
+NAME="AEN17579"
 ></A
 ><H3
 ><A
@@ -1342,7 +1351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16754"
+NAME="AEN17585"
 ></A
 ><H3
 ><A
@@ -1376,7 +1385,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16762"
+NAME="AEN17593"
 ></A
 ><P
 ></P
@@ -1403,7 +1412,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1418,7 +1427,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1429,7 +1438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16775"
+NAME="AEN17606"
 ></A
 ><H3
 ><A
@@ -1458,11 +1467,16 @@
 ></TR
 ></TABLE
 ><P
+>VMS version of <A
+HREF="libxml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME"
+>xmlParserInputBufferCreateFilename</A
+>()</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16782"
+NAME="AEN17615"
 ></A
 ><P
 ></P
@@ -1532,7 +1546,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16799"
+NAME="AEN17632"
 ></A
 ><H3
 ><A
@@ -1571,7 +1585,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16807"
+NAME="AEN17640"
 ></A
 ><P
 ></P
@@ -1598,7 +1612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a C string containing the URI or filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1615,7 +1629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1630,7 +1644,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1641,7 +1655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16824"
+NAME="AEN17657"
 ></A
 ><H3
 ><A
@@ -1680,7 +1694,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16833"
+NAME="AEN17666"
 ></A
 ><P
 ></P
@@ -1707,7 +1721,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a FILE* </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1724,7 +1738,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1739,7 +1753,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1750,7 +1764,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16850"
+NAME="AEN17683"
 ></A
 ><H3
 ><A
@@ -1786,7 +1800,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16858"
+NAME="AEN17691"
 ></A
 ><P
 ></P
@@ -1813,7 +1827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a file descriptor number</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1830,7 +1844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1845,7 +1859,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1856,7 +1870,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16875"
+NAME="AEN17708"
 ></A
 ><H3
 ><A
@@ -1893,7 +1907,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16883"
+NAME="AEN17716"
 ></A
 ><P
 ></P
@@ -1920,7 +1934,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the memory input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1937,7 +1951,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the memory block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1954,7 +1968,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1969,7 +1983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1980,7 +1994,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16904"
+NAME="AEN17737"
 ></A
 ><H3
 ><A
@@ -2024,7 +2038,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16914"
+NAME="AEN17747"
 ></A
 ><P
 ></P
@@ -2051,7 +2065,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O read function</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2068,7 +2082,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O close function</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2085,7 +2099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O handler</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2102,7 +2116,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the charset encoding if known</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2117,7 +2131,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser input or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2128,7 +2142,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16939"
+NAME="AEN17772"
 ></A
 ><H3
 ><A
@@ -2161,7 +2175,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16946"
+NAME="AEN17779"
 ></A
 ><P
 ></P
@@ -2188,7 +2202,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2205,7 +2219,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  indicative value of the amount of chars to read</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2220,8 +2234,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of chars read and stored in the buffer, or -1
-in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2232,7 +2245,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16963"
+NAME="AEN17796"
 ></A
 ><H3
 ><A
@@ -2268,7 +2281,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16971"
+NAME="AEN17804"
 ></A
 ><P
 ></P
@@ -2295,7 +2308,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2312,7 +2325,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  indicative value of the amount of chars to read</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2327,8 +2340,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of chars read and stored in the buffer, or -1
-in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2339,7 +2351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN16988"
+NAME="AEN17821"
 ></A
 ><H3
 ><A
@@ -2373,7 +2385,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN16995"
+NAME="AEN17828"
 ></A
 ><P
 ></P
@@ -2400,7 +2412,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2417,7 +2429,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size in bytes of the array.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2434,7 +2446,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2449,8 +2461,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of chars read and stored in the buffer, or -1
-in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2461,7 +2472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17016"
+NAME="AEN17849"
 ></A
 ><H3
 ><A
@@ -2491,7 +2502,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17023"
+NAME="AEN17856"
 ></A
 ><P
 ></P
@@ -2518,7 +2529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser input</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2529,7 +2540,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17032"
+NAME="AEN17865"
 ></A
 ><H3
 ><A
@@ -2550,11 +2561,13 @@
 ></TR
 ></TABLE
 ><P
+>lookup the directory for that file</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17037"
+NAME="AEN17871"
 ></A
 ><P
 ></P
@@ -2607,7 +2620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17050"
+NAME="AEN17884"
 ></A
 ><H3
 ><A
@@ -2649,7 +2662,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17060"
+NAME="AEN17894"
 ></A
 ><P
 ></P
@@ -2676,7 +2689,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlInputMatchCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2693,7 +2706,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlInputOpenCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2710,7 +2723,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlInputReadCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2727,7 +2740,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlInputCloseCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2742,7 +2755,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the registered handler number or -1 in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2753,7 +2766,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17085"
+NAME="AEN17919"
 ></A
 ><H3
 ><A
@@ -2782,7 +2795,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17091"
+NAME="AEN17925"
 ></A
 ><H3
 ><A
@@ -2815,7 +2828,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17099"
+NAME="AEN17933"
 ></A
 ><P
 ></P
@@ -2842,7 +2855,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding converter or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2857,7 +2870,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser output or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2868,7 +2881,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17112"
+NAME="AEN17946"
 ></A
 ><H3
 ><A
@@ -2909,7 +2922,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17120"
+NAME="AEN17954"
 ></A
 ><P
 ></P
@@ -2936,7 +2949,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a C string containing the URI or filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2953,7 +2966,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding converter or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2970,7 +2983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the compression ration (0 none, 9 max).</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2985,7 +2998,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new output or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2996,7 +3009,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17141"
+NAME="AEN17975"
 ></A
 ><H3
 ><A
@@ -3035,7 +3048,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17150"
+NAME="AEN17984"
 ></A
 ><P
 ></P
@@ -3062,7 +3075,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a FILE* </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3079,7 +3092,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding converter or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3094,7 +3107,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser output or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3105,7 +3118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17167"
+NAME="AEN18001"
 ></A
 ><H3
 ><A
@@ -3140,7 +3153,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17175"
+NAME="AEN18009"
 ></A
 ><P
 ></P
@@ -3167,7 +3180,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a file descriptor number</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3184,7 +3197,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding converter or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3199,7 +3212,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser output or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3210,7 +3223,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17192"
+NAME="AEN18026"
 ></A
 ><H3
 ><A
@@ -3253,7 +3266,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17202"
+NAME="AEN18036"
 ></A
 ><P
 ></P
@@ -3280,7 +3293,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O write function</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3297,7 +3310,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O close function</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3314,7 +3327,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an I/O handler</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3346,7 +3359,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser output or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3357,7 +3370,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17227"
+NAME="AEN18061"
 ></A
 ><H3
 ><A
@@ -3392,7 +3405,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17234"
+NAME="AEN18068"
 ></A
 ><P
 ></P
@@ -3419,7 +3432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3436,7 +3449,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size in bytes of the array.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3453,7 +3466,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3468,8 +3481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of chars immediately written, or -1
-in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3480,7 +3492,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17255"
+NAME="AEN18089"
 ></A
 ><H3
 ><A
@@ -3514,7 +3526,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17262"
+NAME="AEN18096"
 ></A
 ><P
 ></P
@@ -3541,7 +3553,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered parser output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3558,7 +3570,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a zero terminated C string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3573,8 +3585,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of chars immediately written, or -1
-in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3585,7 +3596,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17279"
+NAME="AEN18113"
 ></A
 ><H3
 ><A
@@ -3615,7 +3626,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17286"
+NAME="AEN18120"
 ></A
 ><P
 ></P
@@ -3642,7 +3653,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3657,7 +3668,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte written or -1 in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3668,7 +3679,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17299"
+NAME="AEN18133"
 ></A
 ><H3
 ><A
@@ -3699,7 +3710,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17306"
+NAME="AEN18140"
 ></A
 ><P
 ></P
@@ -3726,7 +3737,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffered output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3741,7 +3752,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte written or -1 in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3752,7 +3763,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17319"
+NAME="AEN18153"
 ></A
 ><H3
 ><A
@@ -3794,7 +3805,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17329"
+NAME="AEN18163"
 ></A
 ><P
 ></P
@@ -3821,7 +3832,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlOutputMatchCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3838,7 +3849,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlOutputOpenCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3855,7 +3866,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlOutputWriteCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3872,7 +3883,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlOutputCloseCallback</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3887,7 +3898,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the registered handler number or -1 in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3898,7 +3909,91 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17354"
+NAME="AEN18188"
+></A
+><H3
+><A
+NAME="XMLIOHTTPOPENW"
+></A
+>xmlIOHTTPOpenW ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void*       xmlIOHTTPOpenW                  (const char *post_uri,
+                                             int compression);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Open a temporary buffer to collect the document for a subsequent HTTP POST
+request.  Non-static as is called from the output buffer creation routine.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN18194"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>post_uri</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
+>compression</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN18207"
 ></A
 ><H3
 ><A
@@ -3933,7 +4028,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17362"
+NAME="AEN18215"
 ></A
 ><P
 ></P
@@ -3960,7 +4055,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an output I/O buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3977,7 +4072,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3994,7 +4089,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding if any assuming the i/O layer handles the trancoding</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4009,7 +4104,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4020,7 +4115,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17383"
+NAME="AEN18236"
 ></A
 ><H3
 ><A
@@ -4056,7 +4151,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17391"
+NAME="AEN18244"
 ></A
 ><P
 ></P
@@ -4083,7 +4178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an output I/O buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4100,7 +4195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4117,7 +4212,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding if any assuming the i/O layer handles the trancoding</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4134,7 +4229,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> should formatting spaces been added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4149,7 +4244,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4160,7 +4255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17416"
+NAME="AEN18269"
 ></A
 ><H3
 ><A
@@ -4201,7 +4296,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17425"
+NAME="AEN18278"
 ></A
 ><P
 ></P
@@ -4228,7 +4323,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4245,7 +4340,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4262,7 +4357,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4279,7 +4374,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the imbrication level for indenting</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4296,7 +4391,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> is formatting allowed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4313,7 +4408,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an optional encoding string</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -4324,7 +4419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17454"
+NAME="AEN18307"
 ></A
 ><H3
 ><A
@@ -4359,7 +4454,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN17462"
+NAME="AEN18315"
 ></A
 ><P
 ></P
@@ -4386,7 +4481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4403,7 +4498,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4420,7 +4515,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding string</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
index 5c34ca7..494c1b8 100644
--- a/doc/html/libxml-xmlmemory.html
+++ b/doc/html/libxml-xmlmemory.html
@@ -110,7 +110,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN21938"
+NAME="AEN22715"
 ></A
 ><H2
 >Name</H2
@@ -118,7 +118,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN21941"
+NAME="AEN22718"
 ></A
 ><H2
 >Synopsis</H2
@@ -148,12 +148,18 @@
 void*       (<A
 HREF="libxml-xmlmemory.html#XMLMALLOCFUNC"
 >*xmlMallocFunc</A
->)                (...);
+>)                (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+>);
 void*       (<A
 HREF="libxml-xmlmemory.html#XMLREALLOCFUNC"
 >*xmlReallocFunc</A
 >)               (void*,
-                                             ...);
+                                             <GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+>);
 char*       (<A
 HREF="libxml-xmlmemory.html#XMLSTRDUPFUNC"
 >*xmlStrdupFunc</A
@@ -226,26 +232,32 @@
 #define     <A
 HREF="libxml-xmlmemory.html#XMLMALLOC"
 >xmlMalloc</A
->                       (x)
+>                       (size)
 #define     <A
 HREF="libxml-xmlmemory.html#XMLREALLOC"
 >xmlRealloc</A
->                      (p, x)
+>                      (ptr, size)
 #define     <A
 HREF="libxml-xmlmemory.html#XMLMEMSTRDUP"
 >xmlMemStrdup</A
->                    (x)
+>                    (str)
 void*       <A
 HREF="libxml-xmlmemory.html#XMLMALLOCLOC"
 >xmlMallocLoc</A
->                    (int size,
+>                    (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size,
                                              const char *file,
                                              int line);
 void*       <A
 HREF="libxml-xmlmemory.html#XMLREALLOCLOC"
 >xmlReallocLoc</A
 >                   (void *ptr,
-                                             int size,
+                                             <GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size,
                                              const char *file,
                                              int line);
 char*       <A
@@ -261,7 +273,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN21973"
+NAME="AEN22754"
 ></A
 ><H2
 >Description</H2
@@ -271,14 +283,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN21976"
+NAME="AEN22757"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21978"
+NAME="AEN22759"
 ></A
 ><H3
 ><A
@@ -299,17 +311,12 @@
 ></TR
 ></TABLE
 ><P
->should be activated only done when debugging libxml. It replaces the
-allocator with a collect and debug shell to the libc allocator.
-DEBUG_MEMORY should be activated only when debugging 
-libxml i.e. if libxml has been configured with --with-debug-mem too</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21984"
+NAME="AEN22764"
 ></A
 ><H3
 ><A
@@ -335,7 +342,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN21989"
+NAME="AEN22769"
 ></A
 ><H3
 ><A
@@ -360,7 +367,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN21994"
+NAME="AEN22774"
 ></A
 ><P
 ></P
@@ -398,7 +405,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22003"
+NAME="AEN22783"
 ></A
 ><H3
 ><A
@@ -414,7 +421,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void*       (*xmlMallocFunc)                (...);</PRE
+>void*       (*xmlMallocFunc)                (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+>);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -423,7 +433,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22008"
+NAME="AEN22789"
 ></A
 ><P
 ></P
@@ -443,7 +453,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->...</I
+>Param1</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -461,7 +471,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22017"
+NAME="AEN22798"
 ></A
 ><H3
 ><A
@@ -478,7 +488,10 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >void*       (*xmlReallocFunc)               (void*,
-                                             ...);</PRE
+                                             <GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+>);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -487,7 +500,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22022"
+NAME="AEN22804"
 ></A
 ><P
 ></P
@@ -524,7 +537,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->...</I
+>Param2</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -542,7 +555,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22035"
+NAME="AEN22817"
 ></A
 ><H3
 ><A
@@ -567,7 +580,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22040"
+NAME="AEN22822"
 ></A
 ><P
 ></P
@@ -620,7 +633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22053"
+NAME="AEN22835"
 ></A
 ><H3
 ><A
@@ -666,7 +679,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22064"
+NAME="AEN22846"
 ></A
 ><P
 ></P
@@ -782,7 +795,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22093"
+NAME="AEN22875"
 ></A
 ><H3
 ><A
@@ -824,7 +837,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22103"
+NAME="AEN22885"
 ></A
 ><P
 ></P
@@ -940,7 +953,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22132"
+NAME="AEN22914"
 ></A
 ><H3
 ><A
@@ -967,7 +980,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22138"
+NAME="AEN22920"
 ></A
 ><P
 ></P
@@ -1003,7 +1016,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22147"
+NAME="AEN22929"
 ></A
 ><H3
 ><A
@@ -1030,7 +1043,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22153"
+NAME="AEN22935"
 ></A
 ><P
 ></P
@@ -1066,7 +1079,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22162"
+NAME="AEN22944"
 ></A
 ><H3
 ><A
@@ -1096,7 +1109,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22169"
+NAME="AEN22951"
 ></A
 ><P
 ></P
@@ -1135,7 +1148,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22178"
+NAME="AEN22960"
 ></A
 ><H3
 ><A
@@ -1172,7 +1185,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22186"
+NAME="AEN22968"
 ></A
 ><P
 ></P
@@ -1227,7 +1240,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22199"
+NAME="AEN22981"
 ></A
 ><H3
 ><A
@@ -1255,7 +1268,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22205"
+NAME="AEN22987"
 ></A
 ><H3
 ><A
@@ -1271,7 +1284,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define xmlMalloc(x) xmlMallocLoc((x), __FILE__, __LINE__)</PRE
+>#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1280,7 +1293,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22210"
+NAME="AEN22992"
 ></A
 ><P
 ></P
@@ -1300,7 +1313,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->x</I
+>size</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1318,7 +1331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22219"
+NAME="AEN23001"
 ></A
 ><H3
 ><A
@@ -1334,7 +1347,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define xmlRealloc(p, x) xmlReallocLoc((p), (x), __FILE__, __LINE__)</PRE
+>#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1343,7 +1356,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22224"
+NAME="AEN23006"
 ></A
 ><P
 ></P
@@ -1363,7 +1376,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->p</I
+>ptr</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1380,7 +1393,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->x</I
+>size</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1398,7 +1411,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22237"
+NAME="AEN23019"
 ></A
 ><H3
 ><A
@@ -1414,7 +1427,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define xmlMemStrdup(x) xmlMemStrdupLoc((x), __FILE__, __LINE__)</PRE
+>#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1423,7 +1436,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22242"
+NAME="AEN23024"
 ></A
 ><P
 ></P
@@ -1443,7 +1456,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->x</I
+>str</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1461,7 +1474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22251"
+NAME="AEN23033"
 ></A
 ><H3
 ><A
@@ -1477,7 +1490,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void*       xmlMallocLoc                    (int size,
+>void*       xmlMallocLoc                    (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size,
                                              const char *file,
                                              int line);</PRE
 ></TD
@@ -1493,7 +1509,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22258"
+NAME="AEN23041"
 ></A
 ><P
 ></P
@@ -1565,7 +1581,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22275"
+NAME="AEN23058"
 ></A
 ><H3
 ><A
@@ -1582,7 +1598,10 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >void*       xmlReallocLoc                   (void *ptr,
-                                             int size,
+                                             <GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size,
                                              const char *file,
                                              int line);</PRE
 ></TD
@@ -1598,7 +1617,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22282"
+NAME="AEN23066"
 ></A
 ><P
 ></P
@@ -1687,7 +1706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN22303"
+NAME="AEN23087"
 ></A
 ><H3
 ><A
@@ -1719,7 +1738,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN22310"
+NAME="AEN23094"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
index 4c33197..a397787 100644
--- a/doc/html/libxml-xpath.html
+++ b/doc/html/libxml-xpath.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN11305"
+NAME="AEN11249"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN11308"
+NAME="AEN11252"
 ></A
 ><H2
 >Synopsis</H2
@@ -181,13 +181,10 @@
 HREF="libxml-xpath.html#XMLXPATHOBJECT"
 >xmlXPathObject</A
 >;
-<GTKDOCLINK
-HREF="TYPEDEF"
->typedef</GTKDOCLINK
->     <A
+typedef     <A
 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
 >xmlXPathObjectPtr</A
->               ();
+>;
 int         (<A
 HREF="libxml-xpath.html#XMLXPATHCONVERTFUNC"
 >*xmlXPathConvertFunc</A
@@ -274,6 +271,10 @@
 HREF="libxml-xpath.html#XMLXPATHNODESETITEM"
 >xmlXPathNodeSetItem</A
 >             (ns, index)
+#define     <A
+HREF="libxml-xpath.html#XMLXPATHNODESETISEMPTY"
+>xmlXPathNodeSetIsEmpty</A
+>          (ns)
 void        <A
 HREF="libxml-xpath.html#XMLXPATHFREEOBJECT"
 >xmlXPathFreeObject</A
@@ -517,20 +518,6 @@
 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);
-<A
-HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</A
-> <A
 HREF="libxml-xpath.html#XMLXPATHEVALEXPRESSION"
 >xmlXPathEvalExpression</A
 >    (const <A
@@ -590,7 +577,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11434"
+NAME="AEN11374"
 ></A
 ><H2
 >Description</H2
@@ -600,14 +587,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11437"
+NAME="AEN11377"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11439"
+NAME="AEN11379"
 ></A
 ><H3
 ><A
@@ -673,22 +660,12 @@
 ></TR
 ></TABLE
 ><P
->Expression evaluation occurs with respect to a context.
-he context consists of:
-- a node (the context node) 
-- a node list (the context node list) 
-- a set of variable bindings 
-- a function library 
-- the set of namespace declarations in scope for the expression 
-Following the switch to hash tables, this need to be trimmed up at
-the next binary incompatible release.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11445"
+NAME="AEN11384"
 ></A
 ><H3
 ><A
@@ -714,7 +691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11450"
+NAME="AEN11389"
 ></A
 ><H3
 ><A
@@ -750,15 +727,12 @@
 ></TR
 ></TABLE
 ><P
->An XPath parser context, it contains pure parsing informations,
-an xmlXPathContext, and the stack of objects.</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11456"
+NAME="AEN11394"
 ></A
 ><H3
 ><A
@@ -784,7 +758,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11461"
+NAME="AEN11399"
 ></A
 ><H3
 ><A
@@ -828,19 +802,12 @@
 ></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="AEN11468"
+NAME="AEN11404"
 ></A
 ><H3
 ><A
@@ -870,7 +837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11473"
+NAME="AEN11409"
 ></A
 ><H3
 ><A
@@ -896,7 +863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11478"
+NAME="AEN11414"
 ></A
 ><H3
 ><A
@@ -933,7 +900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11483"
+NAME="AEN11419"
 ></A
 ><H3
 ><A
@@ -969,13 +936,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11488"
+NAME="AEN11424"
 ></A
 ><H3
 ><A
 NAME="XMLXPATHOBJECTPTR"
 ></A
->xmlXPathObjectPtr ()</H3
+>xmlXPathObjectPtr</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -985,55 +952,17 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="TYPEDEF"
->typedef</GTKDOCLINK
->     xmlXPathObjectPtr               ();</PRE
+>typedef xmlXPathObject *xmlXPathObjectPtr;</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
 ></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN11494"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11503"
+NAME="AEN11429"
 ></A
 ><H3
 ><A
@@ -1062,7 +991,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11509"
+NAME="AEN11435"
 ></A
 ><P
 ></P
@@ -1132,7 +1061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11526"
+NAME="AEN11452"
 ></A
 ><H3
 ><A
@@ -1161,7 +1090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11531"
+NAME="AEN11457"
 ></A
 ><H3
 ><A
@@ -1187,7 +1116,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11536"
+NAME="AEN11462"
 ></A
 ><H3
 ><A
@@ -1216,7 +1145,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11541"
+NAME="AEN11467"
 ></A
 ><H3
 ><A
@@ -1242,7 +1171,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11546"
+NAME="AEN11472"
 ></A
 ><H3
 ><A
@@ -1267,13 +1196,11 @@
 ></TR
 ></TABLE
 ><P
->an XPath evaluation function, the parameters are on thei XPath context stack</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11553"
+NAME="AEN11478"
 ></A
 ><P
 ></P
@@ -1300,7 +1227,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> an XPath parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1317,7 +1244,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of arguments passed to the function</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1328,7 +1255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11566"
+NAME="AEN11491"
 ></A
 ><H3
 ><A
@@ -1357,7 +1284,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11571"
+NAME="AEN11496"
 ></A
 ><H3
 ><A
@@ -1383,7 +1310,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11576"
+NAME="AEN11501"
 ></A
 ><H3
 ><A
@@ -1418,7 +1345,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11584"
+NAME="AEN11509"
 ></A
 ><P
 ></P
@@ -1488,7 +1415,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11601"
+NAME="AEN11526"
 ></A
 ><H3
 ><A
@@ -1517,7 +1444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11606"
+NAME="AEN11531"
 ></A
 ><H3
 ><A
@@ -1543,7 +1470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11611"
+NAME="AEN11536"
 ></A
 ><H3
 ><A
@@ -1575,7 +1502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11618"
+NAME="AEN11543"
 ></A
 ><H3
 ><A
@@ -1601,7 +1528,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11623"
+NAME="AEN11548"
 ></A
 ><H3
 ><A
@@ -1626,15 +1553,11 @@
 ></TR
 ></TABLE
 ><P
->An XPath function
-The arguments (if any) are popped out of the context stack
-and the result is pushed on the stack.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11630"
+NAME="AEN11554"
 ></A
 ><P
 ></P
@@ -1689,7 +1612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11643"
+NAME="AEN11567"
 ></A
 ><H3
 ><A
@@ -1714,7 +1637,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11648"
+NAME="AEN11572"
 ></A
 ><P
 ></P
@@ -1752,7 +1675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11657"
+NAME="AEN11581"
 ></A
 ><H3
 ><A
@@ -1777,7 +1700,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11662"
+NAME="AEN11586"
 ></A
 ><P
 ></P
@@ -1832,7 +1755,70 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11675"
+NAME="AEN11599"
+></A
+><H3
+><A
+NAME="XMLXPATHNODESETISEMPTY"
+></A
+>xmlXPathNodeSetIsEmpty()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathNodeSetIsEmpty(ns)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN11604"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ns</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11613"
 ></A
 ><H3
 ><A
@@ -1862,7 +1848,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11682"
+NAME="AEN11620"
 ></A
 ><P
 ></P
@@ -1900,7 +1886,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11691"
+NAME="AEN11629"
 ></A
 ><H3
 ><A
@@ -1938,7 +1924,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11700"
+NAME="AEN11638"
 ></A
 ><P
 ></P
@@ -1991,7 +1977,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11713"
+NAME="AEN11651"
 ></A
 ><H3
 ><A
@@ -2030,7 +2016,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11722"
+NAME="AEN11660"
 ></A
 ><P
 ></P
@@ -2068,7 +2054,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11731"
+NAME="AEN11669"
 ></A
 ><H3
 ><A
@@ -2098,7 +2084,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11738"
+NAME="AEN11676"
 ></A
 ><P
 ></P
@@ -2136,7 +2122,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11747"
+NAME="AEN11685"
 ></A
 ><H3
 ><A
@@ -2169,7 +2155,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11755"
+NAME="AEN11693"
 ></A
 ><P
 ></P
@@ -2222,7 +2208,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11768"
+NAME="AEN11706"
 ></A
 ><H3
 ><A
@@ -2256,7 +2242,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11776"
+NAME="AEN11714"
 ></A
 ><P
 ></P
@@ -2327,7 +2313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11793"
+NAME="AEN11731"
 ></A
 ><H3
 ><A
@@ -2357,7 +2343,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11800"
+NAME="AEN11738"
 ></A
 ><P
 ></P
@@ -2410,7 +2396,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11813"
+NAME="AEN11751"
 ></A
 ><H3
 ><A
@@ -2440,7 +2426,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11820"
+NAME="AEN11758"
 ></A
 ><P
 ></P
@@ -2493,7 +2479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11833"
+NAME="AEN11771"
 ></A
 ><H3
 ><A
@@ -2523,7 +2509,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11840"
+NAME="AEN11778"
 ></A
 ><P
 ></P
@@ -2576,7 +2562,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11853"
+NAME="AEN11791"
 ></A
 ><H3
 ><A
@@ -2600,11 +2586,13 @@
 ></TR
 ></TABLE
 ><P
+>Converts an XPath object to its boolean value</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11859"
+NAME="AEN11798"
 ></A
 ><P
 ></P
@@ -2631,7 +2619,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XPath object</TD
 ></TR
 ><TR
 ><TD
@@ -2646,7 +2634,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the boolean value</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2657,7 +2645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11872"
+NAME="AEN11811"
 ></A
 ><H3
 ><A
@@ -2687,7 +2675,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11879"
+NAME="AEN11818"
 ></A
 ><P
 ></P
@@ -2740,7 +2728,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11892"
+NAME="AEN11831"
 ></A
 ><H3
 ><A
@@ -2773,7 +2761,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11900"
+NAME="AEN11839"
 ></A
 ><P
 ></P
@@ -2826,7 +2814,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11913"
+NAME="AEN11852"
 ></A
 ><H3
 ><A
@@ -2859,7 +2847,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11921"
+NAME="AEN11860"
 ></A
 ><P
 ></P
@@ -2912,7 +2900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11934"
+NAME="AEN11873"
 ></A
 ><H3
 ><A
@@ -2945,7 +2933,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11942"
+NAME="AEN11881"
 ></A
 ><P
 ></P
@@ -2998,7 +2986,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11955"
+NAME="AEN11894"
 ></A
 ><H3
 ><A
@@ -3031,7 +3019,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11963"
+NAME="AEN11902"
 ></A
 ><P
 ></P
@@ -3084,7 +3072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11976"
+NAME="AEN11915"
 ></A
 ><H3
 ><A
@@ -3114,7 +3102,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN11983"
+NAME="AEN11922"
 ></A
 ><P
 ></P
@@ -3167,7 +3155,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11996"
+NAME="AEN11935"
 ></A
 ><H3
 ><A
@@ -3200,7 +3188,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12004"
+NAME="AEN11943"
 ></A
 ><P
 ></P
@@ -3253,7 +3241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12017"
+NAME="AEN11956"
 ></A
 ><H3
 ><A
@@ -3286,7 +3274,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12025"
+NAME="AEN11964"
 ></A
 ><P
 ></P
@@ -3339,7 +3327,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12038"
+NAME="AEN11977"
 ></A
 ><H3
 ><A
@@ -3372,7 +3360,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12046"
+NAME="AEN11985"
 ></A
 ><P
 ></P
@@ -3425,7 +3413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12059"
+NAME="AEN11998"
 ></A
 ><H3
 ><A
@@ -3461,7 +3449,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12068"
+NAME="AEN12007"
 ></A
 ><P
 ></P
@@ -3516,7 +3504,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12081"
+NAME="AEN12020"
 ></A
 ><H3
 ><A
@@ -3552,7 +3540,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12090"
+NAME="AEN12029"
 ></A
 ><P
 ></P
@@ -3611,7 +3599,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12104"
+NAME="AEN12043"
 ></A
 ><H3
 ><A
@@ -3647,7 +3635,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12113"
+NAME="AEN12052"
 ></A
 ><P
 ></P
@@ -3706,7 +3694,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12127"
+NAME="AEN12066"
 ></A
 ><H3
 ><A
@@ -3742,7 +3730,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12136"
+NAME="AEN12075"
 ></A
 ><P
 ></P
@@ -3801,7 +3789,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12150"
+NAME="AEN12089"
 ></A
 ><H3
 ><A
@@ -3829,7 +3817,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12156"
+NAME="AEN12095"
 ></A
 ><H3
 ><A
@@ -3862,7 +3850,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12164"
+NAME="AEN12103"
 ></A
 ><P
 ></P
@@ -3915,7 +3903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12177"
+NAME="AEN12116"
 ></A
 ><H3
 ><A
@@ -3945,7 +3933,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12184"
+NAME="AEN12123"
 ></A
 ><P
 ></P
@@ -3983,7 +3971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12193"
+NAME="AEN12132"
 ></A
 ><H3
 ><A
@@ -4020,7 +4008,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12202"
+NAME="AEN12141"
 ></A
 ><P
 ></P
@@ -4091,112 +4079,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12219"
-></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"
-><A
-NAME="AEN12227"
-></A
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><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"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12244"
+NAME="AEN12158"
 ></A
 ><H3
 ><A
@@ -4233,7 +4116,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12253"
+NAME="AEN12167"
 ></A
 ><P
 ></P
@@ -4304,7 +4187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12270"
+NAME="AEN12184"
 ></A
 ><H3
 ><A
@@ -4347,7 +4230,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12279"
+NAME="AEN12193"
 ></A
 ><P
 ></P
@@ -4417,7 +4300,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12296"
+NAME="AEN12210"
 ></A
 ><H3
 ><A
@@ -4450,7 +4333,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12304"
+NAME="AEN12218"
 ></A
 ><P
 ></P
@@ -4504,7 +4387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12317"
+NAME="AEN12231"
 ></A
 ><H3
 ><A
@@ -4541,7 +4424,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12326"
+NAME="AEN12240"
 ></A
 ><P
 ></P
@@ -4612,7 +4495,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12343"
+NAME="AEN12257"
 ></A
 ><H3
 ><A
@@ -4647,7 +4530,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12351"
+NAME="AEN12265"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xpathinternals.html b/doc/html/libxml-xpathinternals.html
index 95f5dd7..544b54c 100644
--- a/doc/html/libxml-xpathinternals.html
+++ b/doc/html/libxml-xpathinternals.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN12365"
+NAME="AEN12279"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN12368"
+NAME="AEN12282"
 ></A
 ><H2
 >Synopsis</H2
@@ -146,6 +146,122 @@
 >&#13;
 
 #define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHSETERROR"
+>xmlXPathSetError</A
+>                (ctxt, err)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHSETARITYERROR"
+>xmlXPathSetArityError</A
+>           (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHSETTYPEERROR"
+>xmlXPathSetTypeError</A
+>            (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHGETERROR"
+>xmlXPathGetError</A
+>                (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>              (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHGETDOCUMENT"
+>xmlXPathGetDocument</A
+>             (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHGETCONTEXTNODE"
+>xmlXPathGetContextNode</A
+>          (ctxt)
+int         <A
+HREF="libxml-xpathinternals.html#XMLXPATHPOPBOOLEAN"
+>xmlXPathPopBoolean</A
+>              (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);
+<GTKDOCLINK
+HREF="DOUBLE"
+>double</GTKDOCLINK
+>      <A
+HREF="libxml-xpathinternals.html#XMLXPATHPOPNUMBER"
+>xmlXPathPopNumber</A
+>               (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);
+<A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="libxml-xpathinternals.html#XMLXPATHPOPSTRING"
+>xmlXPathPopString</A
+>               (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHPOPNODESET"
+>xmlXPathPopNodeSet</A
+>            (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);
+void*       <A
+HREF="libxml-xpathinternals.html#XMLXPATHPOPEXTERNAL"
+>xmlXPathPopExternal</A
+>             (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNBOOLEAN"
+>xmlXPathReturnBoolean</A
+>           (ctxt, val)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNTRUE"
+>xmlXPathReturnTrue</A
+>              (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNFALSE"
+>xmlXPathReturnFalse</A
+>             (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNNUMBER"
+>xmlXPathReturnNumber</A
+>            (ctxt, val)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNSTRING"
+>xmlXPathReturnString</A
+>            (ctxt, str)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNEMPTYSTRING"
+>xmlXPathReturnEmptyString</A
+>       (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNNODESET"
+>xmlXPathReturnNodeSet</A
+>           (ctxt, ns)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNEMPTYNODESET"
+>xmlXPathReturnEmptyNodeSet</A
+>      (ctxt, ns)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHRETURNEXTERNAL"
+>xmlXPathReturnExternal</A
+>          (ctxt, val)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHSTACKISNODESET"
+>xmlXPathStackIsNodeSet</A
+>          (ctxt)
+#define     <A
+HREF="libxml-xpathinternals.html#XMLXPATHEMPTYNODESET"
+>xmlXPathEmptyNodeSet</A
+>            (ns)
+#define     <A
 HREF="libxml-xpathinternals.html#CHECK-ERROR-CAPS"
 >CHECK_ERROR</A
 >
@@ -185,13 +301,22 @@
 HREF="libxml-xpathinternals.html#CAST-TO-BOOLEAN-CAPS"
 >CAST_TO_BOOLEAN</A
 >
-<GTKDOCLINK
-HREF="TYPEDEF"
->typedef</GTKDOCLINK
->     <A
+<A
 HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
 >xmlXPathObjectPtr</A
->               ();
+> (<A
+HREF="libxml-xpathinternals.html#XMLXPATHVARIABLELOOKUPFUNC"
+>*xmlXPathVariableLookupFunc</A
+>)
+                                            (void *ctxt,
+                                             const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ns_uri);
 void        <A
 HREF="libxml-xpathinternals.html#XMLXPATHREGISTERVARIABLELOOKUP"
 >xmlXPathRegisterVariableLookup</A
@@ -199,9 +324,9 @@
 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
 >xmlXPathContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHVARIABLELOOKUPFUNC"
->xmlXPathVariableLookupFunc</GTKDOCLINK
+                                             <A
+HREF="libxml-xpathinternals.html#XMLXPATHVARIABLELOOKUPFUNC"
+>xmlXPathVariableLookupFunc</A
 > f,
                                              void *varCtxt);
 void        <A
@@ -238,6 +363,177 @@
 >xmlXPathCompExprPtr</A
 > comp,
                                              int depth);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHDIFFERENCE"
+>xmlXPathDifference</A
+>            (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHINTERSECTION"
+>xmlXPathIntersection</A
+>          (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHDISTINCTSORTED"
+>xmlXPathDistinctSorted</A
+>        (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHDISTINCT"
+>xmlXPathDistinct</A
+>              (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes);
+int         <A
+HREF="libxml-xpathinternals.html#XMLXPATHHASSAMENODES"
+>xmlXPathHasSameNodes</A
+>            (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHNODELEADINGSORTED"
+>xmlXPathNodeLeadingSorted</A
+>     (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHLEADINGSORTED"
+>xmlXPathLeadingSorted</A
+>         (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHNODELEADING"
+>xmlXPathNodeLeading</A
+>           (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHLEADING"
+>xmlXPathLeading</A
+>               (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHNODETRAILINGSORTED"
+>xmlXPathNodeTrailingSorted</A
+>    (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHTRAILINGSORTED"
+>xmlXPathTrailingSorted</A
+>        (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHNODETRAILING"
+>xmlXPathNodeTrailing</A
+>          (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHTRAILING"
+>xmlXPathTrailing</A
+>              (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);
 int         <A
 HREF="libxml-xpathinternals.html#XMLXPATHREGISTERNS"
 >xmlXPathRegisterNs</A
@@ -716,6 +1012,13 @@
 HREF="libxml-xpath.html#XMLNODESETPTR"
 >xmlNodeSetPtr</A
 > val);
+<A
+HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> <A
+HREF="libxml-xpathinternals.html#XMLXPATHWRAPEXTERNAL"
+>xmlXPathWrapExternal</A
+>      (void *val);
 void        <A
 HREF="libxml-xpath.html#XMLXPATHFREENODESETLIST"
 >xmlXPathFreeNodeSetList</A
@@ -1193,7 +1496,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12655"
+NAME="AEN12653"
 ></A
 ><H2
 >Description</H2
@@ -1203,20 +1506,20 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12658"
+NAME="AEN12656"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12660"
+NAME="AEN12658"
 ></A
 ><H3
 ><A
-NAME="CHECK-ERROR-CAPS"
+NAME="XMLXPATHSETERROR"
 ></A
->CHECK_ERROR</H3
+>xmlXPathSetError()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1226,74 +1529,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     CHECK_ERROR</PRE
+>#define     xmlXPathSetError(ctxt, err)</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->macro to return from the function if an XPath error was detected</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12666"
-></A
-><H3
-><A
-NAME="CHECK-ERROR0-CAPS"
-></A
->CHECK_ERROR0</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     CHECK_ERROR0</PRE
-></TD
-></TR
-></TABLE
-><P
->macro to return 0 from the function if an XPath error was detected</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN12672"
-></A
-><H3
-><A
-NAME="XP-ERROR-CAPS"
-></A
->XP_ERROR()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     XP_ERROR(X)</PRE
-></TD
-></TR
-></TABLE
-><P
->Macro to raise an XPath error and return</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12678"
+NAME="AEN12663"
 ></A
 ><P
 ></P
@@ -1313,14 +1558,31 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->X</I
+>ctxt</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the error code</TD
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>err</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1331,13 +1593,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12687"
+NAME="AEN12676"
 ></A
 ><H3
 ><A
-NAME="XP-ERROR0-CAPS"
+NAME="XMLXPATHSETARITYERROR"
 ></A
->XP_ERROR0()</H3
+>xmlXPathSetArityError()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1347,18 +1609,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XP_ERROR0(X)</PRE
+>#define     xmlXPathSetArityError(ctxt)</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro to raise an XPath error and return 0</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12693"
+NAME="AEN12681"
 ></A
 ><P
 ></P
@@ -1378,14 +1638,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->X</I
+>ctxt</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the error code</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1396,13 +1656,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12702"
+NAME="AEN12690"
 ></A
 ><H3
 ><A
-NAME="CHECK-TYPE-CAPS"
+NAME="XMLXPATHSETTYPEERROR"
 ></A
->CHECK_TYPE()</H3
+>xmlXPathSetTypeError()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1412,19 +1672,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     CHECK_TYPE(typeval)</PRE
+>#define     xmlXPathSetTypeError(ctxt)</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro to check that the value on top of the XPath stack is of a given
-type.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12708"
+NAME="AEN12695"
 ></A
 ><P
 ></P
@@ -1444,14 +1701,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->typeval</I
+>ctxt</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath type</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1462,13 +1719,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12717"
+NAME="AEN12704"
 ></A
 ><H3
 ><A
-NAME="CHECK-TYPE0-CAPS"
+NAME="XMLXPATHGETERROR"
 ></A
->CHECK_TYPE0()</H3
+>xmlXPathGetError()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1478,13 +1735,73 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     CHECK_TYPE0(typeval)</PRE
+>#define xmlXPathGetError(ctxt)	  ((ctxt)-&gt;error)</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Macro to check that the value on top of the XPath stack is of a given
-type. return(0) in case of failure</P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12709"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12718"
+></A
+><H3
+><A
+NAME="XMLXPATHCHECKERROR"
+></A
+>xmlXPathCheckError()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlXPathCheckError(ctxt)  ((ctxt)-&gt;error != XPATH_EXPRESSION_OK)</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ><DIV
@@ -1510,14 +1827,14 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->typeval</I
+>ctxt</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath type</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1532,6 +1849,1660 @@
 ></A
 ><H3
 ><A
+NAME="XMLXPATHGETDOCUMENT"
+></A
+>xmlXPathGetDocument()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlXPathGetDocument(ctxt)	((ctxt)-&gt;context-&gt;doc)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12737"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12746"
+></A
+><H3
+><A
+NAME="XMLXPATHGETCONTEXTNODE"
+></A
+>xmlXPathGetContextNode()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlXPathGetContextNode(ctxt)	((ctxt)-&gt;context-&gt;node)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12751"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12760"
+></A
+><H3
+><A
+NAME="XMLXPATHPOPBOOLEAN"
+></A
+>xmlXPathPopBoolean ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlXPathPopBoolean              (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Pops a boolean from the stack, handling conversion if needed.
+Check error with <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12768"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XPath parser 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 boolean</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12781"
+></A
+><H3
+><A
+NAME="XMLXPATHPOPNUMBER"
+></A
+>xmlXPathPopNumber ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><GTKDOCLINK
+HREF="DOUBLE"
+>double</GTKDOCLINK
+>      xmlXPathPopNumber               (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Pops a number from the stack, handling conversion if needed.
+Check error with <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12790"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XPath parser 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 number</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12803"
+></A
+><H3
+><A
+NAME="XMLXPATHPOPSTRING"
+></A
+>xmlXPathPopString ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlXPathPopString               (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Pops a string from the stack, handling conversion if needed.
+Check error with <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12812"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XPath parser 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 string</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12825"
+></A
+><H3
+><A
+NAME="XMLXPATHPOPNODESET"
+></A
+>xmlXPathPopNodeSet ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathPopNodeSet            (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Pops a node-set from the stack, handling conversion if needed.
+Check error with <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12834"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XPath parser 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 node-set</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12847"
+></A
+><H3
+><A
+NAME="XMLXPATHPOPEXTERNAL"
+></A
+>xmlXPathPopExternal ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void*       xmlXPathPopExternal             (<A
+HREF="libxml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Pops an external oject from the stack, handling conversion if needed.
+Check error with <A
+HREF="libxml-xpathinternals.html#XMLXPATHCHECKERROR"
+>xmlXPathCheckError</A
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12855"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XPath parser context</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12864"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNBOOLEAN"
+></A
+>xmlXPathReturnBoolean()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnBoolean(ctxt, val)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12869"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12882"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNTRUE"
+></A
+>xmlXPathReturnTrue()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlXPathReturnTrue(ctxt)   xmlXPathReturnBoolean((ctxt), 1)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12887"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12896"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNFALSE"
+></A
+>xmlXPathReturnFalse()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlXPathReturnFalse(ctxt)  xmlXPathReturnBoolean((ctxt), 0)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12901"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12910"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNNUMBER"
+></A
+>xmlXPathReturnNumber()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnNumber(ctxt, val)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12915"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12928"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNSTRING"
+></A
+>xmlXPathReturnString()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnString(ctxt, str)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12933"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>str</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12946"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNEMPTYSTRING"
+></A
+>xmlXPathReturnEmptyString()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnEmptyString(ctxt)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12951"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12960"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNNODESET"
+></A
+>xmlXPathReturnNodeSet()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnNodeSet(ctxt, ns)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12965"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>ns</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12978"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNEMPTYNODESET"
+></A
+>xmlXPathReturnEmptyNodeSet()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnEmptyNodeSet(ctxt, ns)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN12983"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>ns</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12996"
+></A
+><H3
+><A
+NAME="XMLXPATHRETURNEXTERNAL"
+></A
+>xmlXPathReturnExternal()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathReturnExternal(ctxt, val)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13001"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13014"
+></A
+><H3
+><A
+NAME="XMLXPATHSTACKISNODESET"
+></A
+>xmlXPathStackIsNodeSet()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathStackIsNodeSet(ctxt)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13019"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13028"
+></A
+><H3
+><A
+NAME="XMLXPATHEMPTYNODESET"
+></A
+>xmlXPathEmptyNodeSet()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     xmlXPathEmptyNodeSet(ns)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13033"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ns</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13042"
+></A
+><H3
+><A
+NAME="CHECK-ERROR-CAPS"
+></A
+>CHECK_ERROR</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     CHECK_ERROR</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13047"
+></A
+><H3
+><A
+NAME="CHECK-ERROR0-CAPS"
+></A
+>CHECK_ERROR0</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     CHECK_ERROR0</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13052"
+></A
+><H3
+><A
+NAME="XP-ERROR-CAPS"
+></A
+>XP_ERROR()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     XP_ERROR(X)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13057"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>X</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13066"
+></A
+><H3
+><A
+NAME="XP-ERROR0-CAPS"
+></A
+>XP_ERROR0()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     XP_ERROR0(X)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13071"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>X</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13080"
+></A
+><H3
+><A
+NAME="CHECK-TYPE-CAPS"
+></A
+>CHECK_TYPE()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     CHECK_TYPE(typeval)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13085"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>typeval</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13094"
+></A
+><H3
+><A
+NAME="CHECK-TYPE0-CAPS"
+></A
+>CHECK_TYPE0()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define     CHECK_TYPE0(typeval)</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13099"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>typeval</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13108"
+></A
+><H3
+><A
 NAME="CHECK-ARITY-CAPS"
 ></A
 >CHECK_ARITY()</H3
@@ -1549,13 +3520,11 @@
 ></TR
 ></TABLE
 ><P
->Macro to check that the number of args passed to an XPath function matches</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12738"
+NAME="AEN13113"
 ></A
 ><P
 ></P
@@ -1582,7 +3551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of expected args</TD
+>&nbsp;</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1593,7 +3562,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12747"
+NAME="AEN13122"
 ></A
 ><H3
 ><A
@@ -1614,14 +3583,12 @@
 ></TR
 ></TABLE
 ><P
->Macro to try to cast the value on the top of the XPath stack to a string</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12753"
+NAME="AEN13127"
 ></A
 ><H3
 ><A
@@ -1642,14 +3609,12 @@
 ></TR
 ></TABLE
 ><P
->Macro to try to cast the value on the top of the XPath stack to a number</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12759"
+NAME="AEN13132"
 ></A
 ><H3
 ><A
@@ -1670,20 +3635,18 @@
 ></TR
 ></TABLE
 ><P
->Macro to try to cast the value on the top of the XPath stack to a boolean</P
-><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12765"
+NAME="AEN13137"
 ></A
 ><H3
 ><A
-NAME="XMLXPATHOBJECTPTR"
+NAME="XMLXPATHVARIABLELOOKUPFUNC"
 ></A
->xmlXPathObjectPtr ()</H3
+>xmlXPathVariableLookupFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1693,10 +3656,19 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="TYPEDEF"
->typedef</GTKDOCLINK
->     xmlXPathObjectPtr               ();</PRE
+><A
+HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> (*xmlXPathVariableLookupFunc)
+                                            (void *ctxt,
+                                             const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ns_uri);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1705,7 +3677,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12771"
+NAME="AEN13145"
 ></A
 ><P
 ></P
@@ -1722,6 +3694,57 @@
 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
+>name</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
+>ns_uri</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
@@ -1741,7 +3764,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12780"
+NAME="AEN13166"
 ></A
 ><H3
 ><A
@@ -1761,9 +3784,9 @@
 HREF="libxml-xpath.html#XMLXPATHCONTEXTPTR"
 >xmlXPathContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHVARIABLELOOKUPFUNC"
->xmlXPathVariableLookupFunc</GTKDOCLINK
+                                             <A
+HREF="libxml-xpathinternals.html#XMLXPATHVARIABLELOOKUPFUNC"
+>xmlXPathVariableLookupFunc</A
 > f,
                                              void *varCtxt);</PRE
 ></TD
@@ -1776,7 +3799,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12788"
+NAME="AEN13174"
 ></A
 ><P
 ></P
@@ -1848,7 +3871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12805"
+NAME="AEN13191"
 ></A
 ><H3
 ><A
@@ -1875,11 +3898,13 @@
 ></TR
 ></TABLE
 ><P
+>Formats an error message.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12811"
+NAME="AEN13198"
 ></A
 ><P
 ></P
@@ -1906,7 +3931,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath Parser context</TD
 ></TR
 ><TR
 ><TD
@@ -1923,7 +3948,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the file name</TD
 ></TR
 ><TR
 ><TD
@@ -1940,7 +3965,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the line number</TD
 ></TR
 ><TR
 ><TD
@@ -1957,7 +3982,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the error number</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -1968,7 +3993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12832"
+NAME="AEN13219"
 ></A
 ><H3
 ><A
@@ -2003,7 +4028,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12840"
+NAME="AEN13227"
 ></A
 ><P
 ></P
@@ -2075,7 +4100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12857"
+NAME="AEN13244"
 ></A
 ><H3
 ><A
@@ -2104,11 +4129,13 @@
 ></TR
 ></TABLE
 ><P
+>Dumps the tree of the compiled XPath expression.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12864"
+NAME="AEN13252"
 ></A
 ><P
 ></P
@@ -2135,7 +4162,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE * for the output</TD
 ></TR
 ><TR
 ><TD
@@ -2152,7 +4179,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the precompiled XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -2169,7 +4196,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the indentation level.</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2180,7 +4207,1753 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12881"
+NAME="AEN13269"
+></A
+><H3
+><A
+NAME="XMLXPATHDIFFERENCE"
+></A
+>xmlXPathDifference ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathDifference            (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="DIFFERENCE"
+>difference</GTKDOCLINK
+>() function:
+node-set set:difference (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13279"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the difference between the two node sets, or nodes1 if
+nodes2 is empty</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13296"
+></A
+><H3
+><A
+NAME="XMLXPATHINTERSECTION"
+></A
+>xmlXPathIntersection ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathIntersection          (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="INTERSECTION"
+>intersection</GTKDOCLINK
+>() function:
+node-set set:intersection (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13306"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a node set comprising the nodes that are within both the
+node sets passed as arguments</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13323"
+></A
+><H3
+><A
+NAME="XMLXPATHDISTINCTSORTED"
+></A
+>xmlXPathDistinctSorted ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathDistinctSorted        (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="DISTINCT"
+>distinct</GTKDOCLINK
+>() function:
+node-set set:distinct (node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13332"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a subset of the nodes contained in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>, or <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if
+it is empty</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13347"
+></A
+><H3
+><A
+NAME="XMLXPATHDISTINCT"
+></A
+>xmlXPathDistinct ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathDistinct              (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="DISTINCT"
+>distinct</GTKDOCLINK
+>() function:
+node-set set:distinct (node-set)
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> is sorted by document order, then <GTKDOCLINK
+HREF="EXSLSETSDISTINCTSORTED"
+>exslSetsDistinctSorted</GTKDOCLINK
+>
+is called with the sorted node-set</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13358"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a subset of the nodes contained in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>, or <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if
+it is empty</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13373"
+></A
+><H3
+><A
+NAME="XMLXPATHHASSAMENODES"
+></A
+>xmlXPathHasSameNodes ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlXPathHasSameNodes            (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets has-same-nodes function:
+boolean set:has-same-node(node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13381"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>true (1) if <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> shares any node with <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>, false (0)
+otherwise</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13400"
+></A
+><H3
+><A
+NAME="XMLXPATHNODELEADINGSORTED"
+></A
+>xmlXPathNodeLeadingSorted ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeLeadingSorted     (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="LEADING"
+>leading</GTKDOCLINK
+>() function:
+node-set set:leading (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13410"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> that precede <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> in document order,
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> is NULL or an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>
+doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13433"
+></A
+><H3
+><A
+NAME="XMLXPATHLEADINGSORTED"
+></A
+>xmlXPathLeadingSorted ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathLeadingSorted         (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="LEADING"
+>leading</GTKDOCLINK
+>() function:
+node-set set:leading (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13443"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> that precede the first node in <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>
+in document order, <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> is NULL or empty or
+an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13466"
+></A
+><H3
+><A
+NAME="XMLXPATHNODELEADING"
+></A
+>xmlXPathNodeLeading ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeLeading           (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="LEADING"
+>leading</GTKDOCLINK
+>() function:
+node-set set:leading (node-set, node-set)
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> is sorted by document order, then <GTKDOCLINK
+HREF="EXSLSETSNODELEADINGSORTED"
+>exslSetsNodeLeadingSorted</GTKDOCLINK
+>
+is called.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13478"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> that precede <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> in document order,
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> is NULL or an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>
+doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13501"
+></A
+><H3
+><A
+NAME="XMLXPATHLEADING"
+></A
+>xmlXPathLeading ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathLeading               (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="LEADING"
+>leading</GTKDOCLINK
+>() function:
+node-set set:leading (node-set, node-set)
+<TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> are sorted by document order, then
+<GTKDOCLINK
+HREF="EXSLSETSLEADINGSORTED"
+>exslSetsLeadingSorted</GTKDOCLINK
+> is called.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13514"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> that precede the first node in <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>
+in document order, <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> is NULL or empty or
+an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13537"
+></A
+><H3
+><A
+NAME="XMLXPATHNODETRAILINGSORTED"
+></A
+>xmlXPathNodeTrailingSorted ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeTrailingSorted    (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="TRAILING"
+>trailing</GTKDOCLINK
+>() function:
+node-set set:trailing (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13547"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> that follow <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> in document order,
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> is NULL or an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>
+doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13570"
+></A
+><H3
+><A
+NAME="XMLXPATHTRAILINGSORTED"
+></A
+>xmlXPathTrailingSorted ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathTrailingSorted        (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="TRAILING"
+>trailing</GTKDOCLINK
+>() function:
+node-set set:trailing (node-set, node-set)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13580"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set, sorted by document order</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> that follow the first node in <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>
+in document order, <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> is NULL or empty or
+an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13603"
+></A
+><H3
+><A
+NAME="XMLXPATHNODETRAILING"
+></A
+>xmlXPathNodeTrailing ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeTrailing          (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes,
+                                             <A
+HREF="libxml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="TRAILING"
+>trailing</GTKDOCLINK
+>() function:
+node-set set:trailing (node-set, node-set)
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> is sorted by document order, then <A
+HREF="libxml-xpathinternals.html#XMLXPATHNODETRAILINGSORTED"
+>xmlXPathNodeTrailingSorted</A
+>
+is called.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13615"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> that follow <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> in document order,
+<TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+> is NULL or an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes</I
+></TT
+>
+doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13638"
+></A
+><H3
+><A
+NAME="XMLXPATHTRAILING"
+></A
+>xmlXPathTrailing ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathTrailing              (<A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes1,
+                                             <A
+HREF="libxml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> nodes2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the EXSLT - Sets <GTKDOCLINK
+HREF="TRAILING"
+>trailing</GTKDOCLINK
+>() function:
+node-set set:trailing (node-set, node-set)
+<TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> are sorted by document order, then
+<A
+HREF="libxml-xpathinternals.html#XMLXPATHTRAILINGSORTED"
+>xmlXPathTrailingSorted</A
+> is called.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN13651"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node-set</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the nodes in <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> that follow the first node in <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+>
+in document order, <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> if <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+> is NULL or empty or
+an empty node-set if <TT
+CLASS="PARAMETER"
+><I
+>nodes1</I
+></TT
+> doesn't contain <TT
+CLASS="PARAMETER"
+><I
+>nodes2</I
+></TT
+></TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13674"
 ></A
 ><H3
 ><A
@@ -2224,7 +5997,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12891"
+NAME="AEN13684"
 ></A
 ><P
 ></P
@@ -2311,7 +6084,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12912"
+NAME="AEN13705"
 ></A
 ><H3
 ><A
@@ -2349,7 +6122,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12921"
+NAME="AEN13714"
 ></A
 ><P
 ></P
@@ -2419,7 +6192,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12938"
+NAME="AEN13731"
 ></A
 ><H3
 ><A
@@ -2443,11 +6216,13 @@
 ></TR
 ></TABLE
 ><P
+>Cleanup the XPath context data associated to registered variables</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12944"
+NAME="AEN13738"
 ></A
 ><P
 ></P
@@ -2474,7 +6249,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -2485,7 +6260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12953"
+NAME="AEN13747"
 ></A
 ><H3
 ><A
@@ -2528,7 +6303,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12963"
+NAME="AEN13757"
 ></A
 ><P
 ></P
@@ -2615,7 +6390,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12984"
+NAME="AEN13778"
 ></A
 ><H3
 ><A
@@ -2662,7 +6437,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN12995"
+NAME="AEN13789"
 ></A
 ><P
 ></P
@@ -2766,7 +6541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13020"
+NAME="AEN13814"
 ></A
 ><H3
 ><A
@@ -2810,7 +6585,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13030"
+NAME="AEN13824"
 ></A
 ><P
 ></P
@@ -2897,7 +6672,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13051"
+NAME="AEN13845"
 ></A
 ><H3
 ><A
@@ -2945,7 +6720,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13062"
+NAME="AEN13856"
 ></A
 ><P
 ></P
@@ -3049,7 +6824,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13087"
+NAME="AEN13881"
 ></A
 ><H3
 ><A
@@ -3087,7 +6862,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13096"
+NAME="AEN13890"
 ></A
 ><P
 ></P
@@ -3157,7 +6932,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13113"
+NAME="AEN13907"
 ></A
 ><H3
 ><A
@@ -3199,7 +6974,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13123"
+NAME="AEN13917"
 ></A
 ><P
 ></P
@@ -3286,7 +7061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13144"
+NAME="AEN13938"
 ></A
 ><H3
 ><A
@@ -3316,7 +7091,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13151"
+NAME="AEN13945"
 ></A
 ><P
 ></P
@@ -3354,7 +7129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13160"
+NAME="AEN13954"
 ></A
 ><H3
 ><A
@@ -3392,7 +7167,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13169"
+NAME="AEN13963"
 ></A
 ><P
 ></P
@@ -3462,7 +7237,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13186"
+NAME="AEN13980"
 ></A
 ><H3
 ><A
@@ -3504,7 +7279,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13196"
+NAME="AEN13990"
 ></A
 ><P
 ></P
@@ -3591,7 +7366,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13217"
+NAME="AEN14011"
 ></A
 ><H3
 ><A
@@ -3622,7 +7397,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13224"
+NAME="AEN14018"
 ></A
 ><P
 ></P
@@ -3660,7 +7435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13233"
+NAME="AEN14027"
 ></A
 ><H3
 ><A
@@ -3698,7 +7473,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13242"
+NAME="AEN14036"
 ></A
 ><P
 ></P
@@ -3768,7 +7543,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13259"
+NAME="AEN14053"
 ></A
 ><H3
 ><A
@@ -3798,7 +7573,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13266"
+NAME="AEN14060"
 ></A
 ><P
 ></P
@@ -3836,7 +7611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13275"
+NAME="AEN14069"
 ></A
 ><H3
 ><A
@@ -3863,11 +7638,13 @@
 ></TR
 ></TABLE
 ><P
+>Pops the top XPath object from the value stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13282"
+NAME="AEN14077"
 ></A
 ><P
 ></P
@@ -3894,7 +7671,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> an XPath evaluation context</TD
 ></TR
 ><TR
 ><TD
@@ -3909,7 +7686,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the XPath object just removed</TD
 ></TR
 ></TBODY
 ></TABLE
@@ -3920,7 +7697,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13295"
+NAME="AEN14090"
 ></A
 ><H3
 ><A
@@ -3948,11 +7725,13 @@
 ></TR
 ></TABLE
 ><P
+>Pushes a new XPath object on top of the value stack</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13302"
+NAME="AEN14098"
 ></A
 ><P
 ></P
@@ -3979,7 +7758,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XPath evaluation context</TD
 ></TR
 ><TR
 ><TD
@@ -3996,7 +7775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath object</TD
 ></TR
 ><TR
 ><TD
@@ -4022,7 +7801,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13319"
+NAME="AEN14115"
 ></A
 ><H3
 ><A
@@ -4060,7 +7839,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13328"
+NAME="AEN14124"
 ></A
 ><P
 ></P
@@ -4113,7 +7892,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13341"
+NAME="AEN14137"
 ></A
 ><H3
 ><A
@@ -4148,7 +7927,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13349"
+NAME="AEN14145"
 ></A
 ><P
 ></P
@@ -4201,7 +7980,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13362"
+NAME="AEN14158"
 ></A
 ><H3
 ><A
@@ -4239,7 +8018,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13371"
+NAME="AEN14167"
 ></A
 ><P
 ></P
@@ -4292,7 +8071,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13384"
+NAME="AEN14180"
 ></A
 ><H3
 ><A
@@ -4322,7 +8101,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13391"
+NAME="AEN14187"
 ></A
 ><P
 ></P
@@ -4375,7 +8154,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13404"
+NAME="AEN14200"
 ></A
 ><H3
 ><A
@@ -4413,7 +8192,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13413"
+NAME="AEN14209"
 ></A
 ><P
 ></P
@@ -4466,7 +8245,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13426"
+NAME="AEN14222"
 ></A
 ><H3
 ><A
@@ -4501,7 +8280,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13434"
+NAME="AEN14230"
 ></A
 ><P
 ></P
@@ -4554,7 +8333,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13447"
+NAME="AEN14243"
 ></A
 ><H3
 ><A
@@ -4593,7 +8372,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13456"
+NAME="AEN14252"
 ></A
 ><P
 ></P
@@ -4646,7 +8425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13469"
+NAME="AEN14265"
 ></A
 ><H3
 ><A
@@ -4685,7 +8464,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13478"
+NAME="AEN14274"
 ></A
 ><P
 ></P
@@ -4738,7 +8517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13491"
+NAME="AEN14287"
 ></A
 ><H3
 ><A
@@ -4772,7 +8551,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13499"
+NAME="AEN14295"
 ></A
 ><P
 ></P
@@ -4827,7 +8606,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13512"
+NAME="AEN14308"
 ></A
 ><H3
 ><A
@@ -4862,7 +8641,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13520"
+NAME="AEN14316"
 ></A
 ><P
 ></P
@@ -4917,7 +8696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13533"
+NAME="AEN14329"
 ></A
 ><H3
 ><A
@@ -4947,7 +8726,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13540"
+NAME="AEN14336"
 ></A
 ><P
 ></P
@@ -4985,7 +8764,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13549"
+NAME="AEN14345"
 ></A
 ><H3
 ><A
@@ -5030,7 +8809,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13557"
+NAME="AEN14353"
 ></A
 ><P
 ></P
@@ -5085,7 +8864,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13570"
+NAME="AEN14366"
 ></A
 ><H3
 ><A
@@ -5115,7 +8894,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13577"
+NAME="AEN14373"
 ></A
 ><P
 ></P
@@ -5153,7 +8932,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13586"
+NAME="AEN14382"
 ></A
 ><H3
 ><A
@@ -5184,7 +8963,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13593"
+NAME="AEN14389"
 ></A
 ><P
 ></P
@@ -5222,7 +9001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13602"
+NAME="AEN14398"
 ></A
 ><H3
 ><A
@@ -5260,7 +9039,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13612"
+NAME="AEN14408"
 ></A
 ><P
 ></P
@@ -5313,7 +9092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13625"
+NAME="AEN14421"
 ></A
 ><H3
 ><A
@@ -5351,7 +9130,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13635"
+NAME="AEN14431"
 ></A
 ><P
 ></P
@@ -5404,7 +9183,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13648"
+NAME="AEN14444"
 ></A
 ><H3
 ><A
@@ -5445,7 +9224,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13658"
+NAME="AEN14454"
 ></A
 ><P
 ></P
@@ -5498,7 +9277,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13671"
+NAME="AEN14467"
 ></A
 ><H3
 ><A
@@ -5541,7 +9320,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13680"
+NAME="AEN14476"
 ></A
 ><P
 ></P
@@ -5611,7 +9390,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13697"
+NAME="AEN14493"
 ></A
 ><H3
 ><A
@@ -5639,7 +9418,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13703"
+NAME="AEN14499"
 ></A
 ><H3
 ><A
@@ -5702,7 +9481,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13712"
+NAME="AEN14508"
 ></A
 ><P
 ></P
@@ -5757,7 +9536,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13725"
+NAME="AEN14521"
 ></A
 ><H3
 ><A
@@ -5787,7 +9566,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13732"
+NAME="AEN14528"
 ></A
 ><P
 ></P
@@ -5825,7 +9604,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13741"
+NAME="AEN14537"
 ></A
 ><H3
 ><A
@@ -5863,7 +9642,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13750"
+NAME="AEN14546"
 ></A
 ><P
 ></P
@@ -5916,7 +9695,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13763"
+NAME="AEN14559"
 ></A
 ><H3
 ><A
@@ -5974,7 +9753,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13776"
+NAME="AEN14572"
 ></A
 ><P
 ></P
@@ -6044,7 +9823,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13793"
+NAME="AEN14589"
 ></A
 ><H3
 ><A
@@ -6078,7 +9857,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13801"
+NAME="AEN14597"
 ></A
 ><P
 ></P
@@ -6133,7 +9912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13814"
+NAME="AEN14610"
 ></A
 ><H3
 ><A
@@ -6164,7 +9943,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13821"
+NAME="AEN14617"
 ></A
 ><P
 ></P
@@ -6219,7 +9998,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13834"
+NAME="AEN14630"
 ></A
 ><H3
 ><A
@@ -6249,7 +10028,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13841"
+NAME="AEN14637"
 ></A
 ><P
 ></P
@@ -6287,7 +10066,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13850"
+NAME="AEN14646"
 ></A
 ><H3
 ><A
@@ -6326,7 +10105,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13859"
+NAME="AEN14655"
 ></A
 ><P
 ></P
@@ -6379,7 +10158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13872"
+NAME="AEN14668"
 ></A
 ><H3
 ><A
@@ -6417,7 +10196,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13881"
+NAME="AEN14677"
 ></A
 ><P
 ></P
@@ -6470,7 +10249,95 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13894"
+NAME="AEN14690"
+></A
+><H3
+><A
+NAME="XMLXPATHWRAPEXTERNAL"
+></A
+>xmlXPathWrapExternal ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> xmlXPathWrapExternal      (void *val);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Wraps the <TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+> data into an XPath object.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN14698"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><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 user data</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
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14711"
 ></A
 ><H3
 ><A
@@ -6509,7 +10376,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13903"
+NAME="AEN14720"
 ></A
 ><P
 ></P
@@ -6547,7 +10414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13912"
+NAME="AEN14729"
 ></A
 ><H3
 ><A
@@ -6577,7 +10444,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13919"
+NAME="AEN14736"
 ></A
 ><P
 ></P
@@ -6615,7 +10482,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13928"
+NAME="AEN14745"
 ></A
 ><H3
 ><A
@@ -6648,7 +10515,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13936"
+NAME="AEN14753"
 ></A
 ><P
 ></P
@@ -6701,7 +10568,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13949"
+NAME="AEN14766"
 ></A
 ><H3
 ><A
@@ -6731,7 +10598,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13956"
+NAME="AEN14773"
 ></A
 ><P
 ></P
@@ -6769,7 +10636,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13965"
+NAME="AEN14782"
 ></A
 ><H3
 ><A
@@ -6809,7 +10676,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN13974"
+NAME="AEN14791"
 ></A
 ><P
 ></P
@@ -6862,7 +10729,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13987"
+NAME="AEN14804"
 ></A
 ><H3
 ><A
@@ -6948,7 +10815,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14003"
+NAME="AEN14820"
 ></A
 ><P
 ></P
@@ -7035,7 +10902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14024"
+NAME="AEN14841"
 ></A
 ><H3
 ><A
@@ -7067,7 +10934,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14031"
+NAME="AEN14848"
 ></A
 ><P
 ></P
@@ -7105,7 +10972,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14040"
+NAME="AEN14857"
 ></A
 ><H3
 ><A
@@ -7137,7 +11004,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14047"
+NAME="AEN14864"
 ></A
 ><P
 ></P
@@ -7175,7 +11042,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14056"
+NAME="AEN14873"
 ></A
 ><H3
 ><A
@@ -7207,7 +11074,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14063"
+NAME="AEN14880"
 ></A
 ><P
 ></P
@@ -7245,7 +11112,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14072"
+NAME="AEN14889"
 ></A
 ><H3
 ><A
@@ -7277,7 +11144,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14079"
+NAME="AEN14896"
 ></A
 ><P
 ></P
@@ -7315,7 +11182,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14088"
+NAME="AEN14905"
 ></A
 ><H3
 ><A
@@ -7357,7 +11224,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14097"
+NAME="AEN14914"
 ></A
 ><P
 ></P
@@ -7395,7 +11262,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14106"
+NAME="AEN14923"
 ></A
 ><H3
 ><A
@@ -7437,7 +11304,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14115"
+NAME="AEN14932"
 ></A
 ><P
 ></P
@@ -7475,7 +11342,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14124"
+NAME="AEN14941"
 ></A
 ><H3
 ><A
@@ -7510,7 +11377,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14132"
+NAME="AEN14949"
 ></A
 ><P
 ></P
@@ -7563,7 +11430,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14145"
+NAME="AEN14962"
 ></A
 ><H3
 ><A
@@ -7601,7 +11468,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14154"
+NAME="AEN14971"
 ></A
 ><P
 ></P
@@ -7671,7 +11538,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14171"
+NAME="AEN14988"
 ></A
 ><H3
 ><A
@@ -7709,7 +11576,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14180"
+NAME="AEN14997"
 ></A
 ><P
 ></P
@@ -7779,7 +11646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14197"
+NAME="AEN15014"
 ></A
 ><H3
 ><A
@@ -7818,7 +11685,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14206"
+NAME="AEN15023"
 ></A
 ><P
 ></P
@@ -7888,7 +11755,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14223"
+NAME="AEN15040"
 ></A
 ><H3
 ><A
@@ -7929,7 +11796,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14232"
+NAME="AEN15049"
 ></A
 ><P
 ></P
@@ -7999,7 +11866,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14249"
+NAME="AEN15066"
 ></A
 ><H3
 ><A
@@ -8037,7 +11904,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14258"
+NAME="AEN15075"
 ></A
 ><P
 ></P
@@ -8107,7 +11974,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14275"
+NAME="AEN15092"
 ></A
 ><H3
 ><A
@@ -8148,7 +12015,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14284"
+NAME="AEN15101"
 ></A
 ><P
 ></P
@@ -8218,7 +12085,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14301"
+NAME="AEN15118"
 ></A
 ><H3
 ><A
@@ -8257,7 +12124,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14310"
+NAME="AEN15127"
 ></A
 ><P
 ></P
@@ -8327,7 +12194,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14327"
+NAME="AEN15144"
 ></A
 ><H3
 ><A
@@ -8368,7 +12235,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14336"
+NAME="AEN15153"
 ></A
 ><P
 ></P
@@ -8438,7 +12305,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14353"
+NAME="AEN15170"
 ></A
 ><H3
 ><A
@@ -8478,7 +12345,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14362"
+NAME="AEN15179"
 ></A
 ><P
 ></P
@@ -8548,7 +12415,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14379"
+NAME="AEN15196"
 ></A
 ><H3
 ><A
@@ -8586,7 +12453,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14388"
+NAME="AEN15205"
 ></A
 ><P
 ></P
@@ -8656,7 +12523,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14405"
+NAME="AEN15222"
 ></A
 ><H3
 ><A
@@ -8697,7 +12564,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14414"
+NAME="AEN15231"
 ></A
 ><P
 ></P
@@ -8767,7 +12634,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14431"
+NAME="AEN15248"
 ></A
 ><H3
 ><A
@@ -8809,7 +12676,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14440"
+NAME="AEN15257"
 ></A
 ><P
 ></P
@@ -8879,7 +12746,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14457"
+NAME="AEN15274"
 ></A
 ><H3
 ><A
@@ -8919,7 +12786,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14466"
+NAME="AEN15283"
 ></A
 ><P
 ></P
@@ -8989,7 +12856,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14483"
+NAME="AEN15300"
 ></A
 ><H3
 ><A
@@ -9028,7 +12895,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14492"
+NAME="AEN15309"
 ></A
 ><P
 ></P
@@ -9083,7 +12950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14505"
+NAME="AEN15322"
 ></A
 ><H3
 ><A
@@ -9127,7 +12994,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14515"
+NAME="AEN15332"
 ></A
 ><P
 ></P
@@ -9182,7 +13049,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14528"
+NAME="AEN15345"
 ></A
 ><H3
 ><A
@@ -9217,7 +13084,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14536"
+NAME="AEN15353"
 ></A
 ><P
 ></P
@@ -9272,7 +13139,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14549"
+NAME="AEN15366"
 ></A
 ><H3
 ><A
@@ -9312,7 +13179,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14557"
+NAME="AEN15374"
 ></A
 ><P
 ></P
@@ -9367,7 +13234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14570"
+NAME="AEN15387"
 ></A
 ><H3
 ><A
@@ -9408,7 +13275,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14578"
+NAME="AEN15395"
 ></A
 ><P
 ></P
@@ -9463,7 +13330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14591"
+NAME="AEN15408"
 ></A
 ><H3
 ><A
@@ -9502,7 +13369,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14599"
+NAME="AEN15416"
 ></A
 ><P
 ></P
@@ -9557,7 +13424,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14612"
+NAME="AEN15429"
 ></A
 ><H3
 ><A
@@ -9593,7 +13460,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14620"
+NAME="AEN15437"
 ></A
 ><P
 ></P
@@ -9648,7 +13515,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14633"
+NAME="AEN15450"
 ></A
 ><H3
 ><A
@@ -9685,7 +13552,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14641"
+NAME="AEN15458"
 ></A
 ><P
 ></P
@@ -9740,7 +13607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14654"
+NAME="AEN15471"
 ></A
 ><H3
 ><A
@@ -9777,7 +13644,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14662"
+NAME="AEN15479"
 ></A
 ><P
 ></P
@@ -9832,7 +13699,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14675"
+NAME="AEN15492"
 ></A
 ><H3
 ><A
@@ -9887,7 +13754,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14683"
+NAME="AEN15500"
 ></A
 ><P
 ></P
@@ -9942,7 +13809,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14696"
+NAME="AEN15513"
 ></A
 ><H3
 ><A
@@ -9982,7 +13849,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14704"
+NAME="AEN15521"
 ></A
 ><P
 ></P
@@ -10037,7 +13904,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14717"
+NAME="AEN15534"
 ></A
 ><H3
 ><A
@@ -10078,7 +13945,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14725"
+NAME="AEN15542"
 ></A
 ><P
 ></P
@@ -10133,7 +14000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14738"
+NAME="AEN15555"
 ></A
 ><H3
 ><A
@@ -10174,7 +14041,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14746"
+NAME="AEN15563"
 ></A
 ><P
 ></P
@@ -10229,7 +14096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14759"
+NAME="AEN15576"
 ></A
 ><H3
 ><A
@@ -10273,7 +14140,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14767"
+NAME="AEN15584"
 ></A
 ><P
 ></P
@@ -10328,7 +14195,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14780"
+NAME="AEN15597"
 ></A
 ><H3
 ><A
@@ -10365,7 +14232,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14788"
+NAME="AEN15605"
 ></A
 ><P
 ></P
@@ -10420,7 +14287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14801"
+NAME="AEN15618"
 ></A
 ><H3
 ><A
@@ -10458,7 +14325,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14810"
+NAME="AEN15627"
 ></A
 ><P
 ></P
@@ -10513,7 +14380,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14823"
+NAME="AEN15640"
 ></A
 ><H3
 ><A
@@ -10551,7 +14418,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14832"
+NAME="AEN15649"
 ></A
 ><P
 ></P
@@ -10606,7 +14473,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14845"
+NAME="AEN15662"
 ></A
 ><H3
 ><A
@@ -10649,7 +14516,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14853"
+NAME="AEN15670"
 ></A
 ><P
 ></P
@@ -10704,7 +14571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14866"
+NAME="AEN15683"
 ></A
 ><H3
 ><A
@@ -10739,7 +14606,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14874"
+NAME="AEN15691"
 ></A
 ><P
 ></P
@@ -10794,7 +14661,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14887"
+NAME="AEN15704"
 ></A
 ><H3
 ><A
@@ -10831,7 +14698,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14895"
+NAME="AEN15712"
 ></A
 ><P
 ></P
@@ -10886,7 +14753,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14908"
+NAME="AEN15725"
 ></A
 ><H3
 ><A
@@ -10923,7 +14790,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14916"
+NAME="AEN15733"
 ></A
 ><P
 ></P
@@ -10978,7 +14845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14929"
+NAME="AEN15746"
 ></A
 ><H3
 ><A
@@ -11015,7 +14882,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14937"
+NAME="AEN15754"
 ></A
 ><P
 ></P
@@ -11070,7 +14937,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14950"
+NAME="AEN15767"
 ></A
 ><H3
 ><A
@@ -11108,7 +14975,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14958"
+NAME="AEN15775"
 ></A
 ><P
 ></P
@@ -11163,7 +15030,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN14971"
+NAME="AEN15788"
 ></A
 ><H3
 ><A
@@ -11203,7 +15070,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN14979"
+NAME="AEN15796"
 ></A
 ><P
 ></P
diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html
index f8822de..493df9d 100644
--- a/doc/html/libxml-xpointer.html
+++ b/doc/html/libxml-xpointer.html
@@ -122,7 +122,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN14997"
+NAME="AEN15814"
 ></A
 ><H2
 >Name</H2
@@ -130,7 +130,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN15000"
+NAME="AEN15817"
 ></A
 ><H2
 >Synopsis</H2
@@ -410,7 +410,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15075"
+NAME="AEN15892"
 ></A
 ><H2
 >Description</H2
@@ -420,14 +420,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN15078"
+NAME="AEN15895"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15080"
+NAME="AEN15897"
 ></A
 ><H3
 ><A
@@ -457,7 +457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15085"
+NAME="AEN15902"
 ></A
 ><H3
 ><A
@@ -483,7 +483,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15090"
+NAME="AEN15907"
 ></A
 ><H3
 ><A
@@ -521,7 +521,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15099"
+NAME="AEN15916"
 ></A
 ><P
 ></P
@@ -574,7 +574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15112"
+NAME="AEN15929"
 ></A
 ><H3
 ><A
@@ -604,7 +604,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15119"
+NAME="AEN15936"
 ></A
 ><P
 ></P
@@ -642,7 +642,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15128"
+NAME="AEN15945"
 ></A
 ><H3
 ><A
@@ -689,7 +689,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15139"
+NAME="AEN15956"
 ></A
 ><P
 ></P
@@ -759,7 +759,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15156"
+NAME="AEN15973"
 ></A
 ><H3
 ><A
@@ -798,7 +798,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15165"
+NAME="AEN15982"
 ></A
 ><P
 ></P
@@ -902,7 +902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15190"
+NAME="AEN16007"
 ></A
 ><H3
 ><A
@@ -939,7 +939,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15199"
+NAME="AEN16016"
 ></A
 ><P
 ></P
@@ -1009,7 +1009,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15216"
+NAME="AEN16033"
 ></A
 ><H3
 ><A
@@ -1046,7 +1046,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15225"
+NAME="AEN16042"
 ></A
 ><P
 ></P
@@ -1116,7 +1116,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15242"
+NAME="AEN16059"
 ></A
 ><H3
 ><A
@@ -1153,7 +1153,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15251"
+NAME="AEN16068"
 ></A
 ><P
 ></P
@@ -1223,7 +1223,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15268"
+NAME="AEN16085"
 ></A
 ><H3
 ><A
@@ -1260,7 +1260,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15277"
+NAME="AEN16094"
 ></A
 ><P
 ></P
@@ -1330,7 +1330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15294"
+NAME="AEN16111"
 ></A
 ><H3
 ><A
@@ -1379,7 +1379,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15305"
+NAME="AEN16122"
 ></A
 ><P
 ></P
@@ -1449,7 +1449,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15322"
+NAME="AEN16139"
 ></A
 ><H3
 ><A
@@ -1489,7 +1489,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15331"
+NAME="AEN16148"
 ></A
 ><P
 ></P
@@ -1542,7 +1542,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15344"
+NAME="AEN16161"
 ></A
 ><H3
 ><A
@@ -1579,7 +1579,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15353"
+NAME="AEN16170"
 ></A
 ><P
 ></P
@@ -1649,7 +1649,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15370"
+NAME="AEN16187"
 ></A
 ><H3
 ><A
@@ -1682,7 +1682,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15378"
+NAME="AEN16195"
 ></A
 ><P
 ></P
@@ -1735,7 +1735,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15391"
+NAME="AEN16208"
 ></A
 ><H3
 ><A
@@ -1775,7 +1775,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15400"
+NAME="AEN16217"
 ></A
 ><P
 ></P
@@ -1830,7 +1830,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15413"
+NAME="AEN16230"
 ></A
 ><H3
 ><A
@@ -1868,7 +1868,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15422"
+NAME="AEN16239"
 ></A
 ><P
 ></P
@@ -1921,7 +1921,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15435"
+NAME="AEN16252"
 ></A
 ><H3
 ><A
@@ -1955,7 +1955,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15443"
+NAME="AEN16260"
 ></A
 ><P
 ></P
@@ -2010,7 +2010,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15456"
+NAME="AEN16273"
 ></A
 ><H3
 ><A
@@ -2041,7 +2041,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15463"
+NAME="AEN16280"
 ></A
 ><P
 ></P
@@ -2096,7 +2096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15476"
+NAME="AEN16293"
 ></A
 ><H3
 ><A
@@ -2137,7 +2137,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15486"
+NAME="AEN16303"
 ></A
 ><P
 ></P
@@ -2225,7 +2225,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15507"
+NAME="AEN16324"
 ></A
 ><H3
 ><A
@@ -2262,7 +2262,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15516"
+NAME="AEN16333"
 ></A
 ><P
 ></P
@@ -2333,7 +2333,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15533"
+NAME="AEN16350"
 ></A
 ><H3
 ><A
@@ -2367,7 +2367,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15541"
+NAME="AEN16358"
 ></A
 ><P
 ></P
@@ -2422,7 +2422,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15554"
+NAME="AEN16371"
 ></A
 ><H3
 ><A
@@ -2456,7 +2456,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15562"
+NAME="AEN16379"
 ></A
 ><P
 ></P
@@ -2510,7 +2510,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN15575"
+NAME="AEN16392"
 ></A
 ><H3
 ><A
@@ -2547,7 +2547,7 @@
 ><DIV
 CLASS="INFORMALTABLE"
 ><A
-NAME="AEN15584"
+NAME="AEN16401"
 ></A
 ><P
 ></P
diff --git a/include/libxml/nanohttp.h b/include/libxml/nanohttp.h
index 9e255bd..1ddbdf6 100644
--- a/include/libxml/nanohttp.h
+++ b/include/libxml/nanohttp.h
@@ -29,13 +29,15 @@
 				 const char *method,
 				 const char *input,
 				 char **contentType,
-				 const char *headers);
+				 const char *headers,
+				 int   ilen);
 void *	xmlNanoHTTPMethodRedir	(const char *URL,
 				 const char *method,
 				 const char *input,
 				 char **contentType,
 				 char **redir,
-				 const char *headers);
+				 const char *headers,
+				 int   ilen);
 void *	xmlNanoHTTPOpen		(const char *URL,
 				 char **contentType);
 void *	xmlNanoHTTPOpenRedir	(const char *URL,
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index d72ebf7..3b149d1 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -805,6 +805,11 @@
                                          int format);
  */ 					 
 
+int		xmlSaveFormatFileEnc    ( const char * filename,
+					  xmlDocPtr cur,
+					  const char * encoding,
+					  int format );
+
 int		xmlSaveFileEnc		(const char *filename,
 					 xmlDocPtr cur,
 					 const char *encoding);
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index 422dce4..e6c519b 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -12,6 +12,7 @@
 #define __XML_IO_H__
 
 #include <stdio.h>
+#include <libxml/xmlversion.h>
 #include <libxml/tree.h>
 #include <libxml/parser.h>
 #include <libxml/encoding.h>
@@ -28,7 +29,7 @@
 typedef int (*xmlInputMatchCallback) (char const *filename);
 typedef void * (*xmlInputOpenCallback) (char const *filename);
 typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
-typedef void (*xmlInputCloseCallback) (void * context);
+typedef int (*xmlInputCloseCallback) (void * context);
 
 typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
 typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
@@ -53,7 +54,7 @@
 typedef void * (*xmlOutputOpenCallback) (char const *filename);
 typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
                                        int len);
-typedef void (*xmlOutputCloseCallback) (void * context);
+typedef int (*xmlOutputCloseCallback) (void * context);
 
 typedef struct _xmlOutputBuffer xmlOutputBuffer;
 typedef xmlOutputBuffer *xmlOutputBufferPtr;
@@ -156,6 +157,13 @@
 					 xmlOutputWriteCallback writeFunc,
 					 xmlOutputCloseCallback closeFunc);
 
+/*  This function only exists if HTTP support built into the library  */
+#ifdef LIBXML_HTTP_ENABLED
+void *	xmlIOHTTPOpenW			(const char * post_uri,
+					 int   compression );
+void	xmlRegisterHTTPPostCallbacksI	(void );
+#endif
+
 /*
  * This save function are part of tree.h and HTMLtree.h actually
  */
diff --git a/nanohttp.c b/nanohttp.c
index fb4fbd0..c29cc7a 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -63,6 +63,7 @@
 #define SOCKET int
 #endif
 
+#include <libxml/xmlerror.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h> /* for xmlStr(n)casecmp() */
 #include <libxml/nanohttp.h>
@@ -75,6 +76,7 @@
 #define SOCKET int
 #endif
 
+
 #ifdef STANDALONE
 #define DEBUG_HTTP
 #define xmlStrncasecmp(a, b, n) strncasecmp((char *)a, (char *)b, n)
@@ -106,6 +108,7 @@
     int inlen;		/* len of the input buffer */
     int last;		/* return code for last operation */
     int returnValue;	/* the protocol return value */
+    int ContentLength;  /* specified content length from HTTP header */
     char *contentType;	/* the MIME type for the input */
     char *location;	/* the new URL in case of redirect */
     char *authHeader;	/* contents of {WWW,Proxy}-Authenticate header */
@@ -116,6 +119,9 @@
 static int proxyPort;	/* the proxy port if any */
 static unsigned int timeout = 60;/* the select() timeout in seconds */
 
+int xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len );
+int xmlNanoHTTPContentLength( void * ctx );
+
 /**
  * A portability function
  */
@@ -358,6 +364,7 @@
     ret->port = 80;
     ret->returnValue = 0;
     ret->fd = -1;
+    ret->ContentLength = -1;
 
     xmlNanoHTTPScanURL(ret, URL);
 
@@ -393,20 +400,52 @@
  * @ctxt:  an HTTP context
  *
  * Send the input needed to initiate the processing on the server side
+ * Returns number of bytes sent or -1 on error.
  */
 
-static void
-xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt) {
-    if (ctxt->state & XML_NANO_HTTP_WRITE) {
-        unsigned int total_sent = 0;
-        while (total_sent <strlen(ctxt->outptr)) {
-            unsigned int nsent = send(ctxt->fd, ctxt->outptr+total_sent,
-                                      strlen(ctxt->outptr)-total_sent, 0);
+static int
+xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char * xmt_ptr, int outlen) {
+
+    int 	total_sent = 0;
+
+    if ( (ctxt->state & XML_NANO_HTTP_WRITE) && (xmt_ptr != NULL ) ) {
+        while (total_sent < outlen) {
+            int nsent = send(ctxt->fd, xmt_ptr + total_sent,
+                                      outlen - total_sent, 0);
             if (nsent>0)
                 total_sent += nsent;
+	    else if ( ( nsent == -1 ) && 
+	    	      ( socket_errno( ) != EAGAIN ) &&
+		        ( socket_errno( ) != EWOULDBLOCK ) ) {
+	        xmlGenericError( xmlGenericErrorContext,
+				"xmlNanoHTTPSend error:  %s",
+				strerror( socket_errno( ) ) );
+
+		if ( total_sent == 0 )
+		    total_sent = -1;
+		break;
+	    }
+	    else {
+	        /*
+		**  No data sent
+		**  Since non-blocking sockets are used, wait for 
+		**  socket to be writable or default timeout prior
+		**  to retrying.
+		*/
+
+		struct timeval	tv;
+		fd_set		wfd;
+
+		tv.tv_sec = timeout;
+		tv.tv_usec = 0;
+		FD_ZERO( &wfd );
+		FD_SET( ctxt->fd, &wfd );
+		(void)select( ctxt->fd + 1, NULL, &wfd, NULL, &tv );
+	    }
 	}
-        ctxt->last = total_sent;
     }
+
+    return total_sent;
 }
 
 /**
@@ -430,6 +469,8 @@
 	    ctxt->in = (char *) xmlMalloc(65000 * sizeof(char));
 	    if (ctxt->in == NULL) {
 	        ctxt->last = -1;
+		xmlGenericError( xmlGenericErrorContext, 
+			"xmlNanoHTTPRecv:  Error allocating input memory." );
 		return(-1);
 	    }
 	    ctxt->inlen = 65000;
@@ -448,10 +489,16 @@
 	    int d_inptr = ctxt->inptr - ctxt->in;
 	    int d_content = ctxt->content - ctxt->in;
 	    int d_inrptr = ctxt->inrptr - ctxt->in;
+	    char *	tmp_ptr = ctxt->in;
 
 	    ctxt->inlen *= 2;
-            ctxt->in = (char *) xmlRealloc(ctxt->in, ctxt->inlen);
+            ctxt->in = (char *) xmlRealloc(tmp_ptr, ctxt->inlen);
 	    if (ctxt->in == NULL) {
+	        xmlGenericError( xmlGenericErrorContext,
+				"xmlNanoHTTPRecv:  %s %d bytes.",
+				"Failed to realloc input buffer to",
+				ctxt->inlen );
+		xmlFree( tmp_ptr );
 	        ctxt->last = -1;
 		return(-1);
 	    }
@@ -475,8 +522,16 @@
 		case EAGAIN:
 #endif
 		    break;
+
+		case ECONNRESET:
+		case ESHUTDOWN:
+		    return ( 0 );
+
 		default:
-		    return(0);
+		    xmlGenericError( xmlGenericErrorContext,
+		    		"xmlNanoHTTPRecv:  recv( ) failure - %s",
+				strerror( socket_errno( ) ) );
+		    return(-1);
 	    }
 	}
 
@@ -485,7 +540,7 @@
 	FD_ZERO(&rfd);
 	FD_SET(ctxt->fd, &rfd);
 	
-	if (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1)
+	if ( (select(ctxt->fd+1, &rfd, NULL, NULL, &tv)<1) && (errno != EINTR) )
 		return(0);
     }
     return(0);
@@ -506,16 +561,20 @@
 xmlNanoHTTPReadLine(xmlNanoHTTPCtxtPtr ctxt) {
     char buf[4096];
     char *bp = buf;
+    int	rc;
     
     while (bp - buf < 4095) {
 	if (ctxt->inrptr == ctxt->inptr) {
-	    if (xmlNanoHTTPRecv(ctxt) == 0) {
+	    if ( (rc = xmlNanoHTTPRecv(ctxt)) == 0) {
 		if (bp == buf)
 		    return(NULL);
 		else
 		    *bp = 0;
 		return(xmlMemStrdup(buf));
 	    }
+	    else if ( rc == -1 ) {
+	        return ( NULL );
+	    }
 	}
 	*bp = *ctxt->inrptr++;
 	if (*bp == '\n') {
@@ -610,6 +669,9 @@
 	if (ctxt->authHeader != NULL)
 	    xmlFree(ctxt->authHeader);
 	ctxt->authHeader = xmlMemStrdup(cur);
+    } else if ( !xmlStrncasecmp( BAD_CAST line, BAD_CAST"Content-Length:", 15) ) {
+	cur += 15;
+	ctxt->ContentLength = strtol( cur, NULL, 10 );
     }
 }
 
@@ -636,6 +698,10 @@
 #ifdef DEBUG_HTTP
 	perror("socket");
 #endif
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPConnectAttempt: %s - %s",
+			"socket creation failure",
+			strerror( socket_errno( ) ) );
 	return(-1);
     }
     
@@ -666,20 +732,26 @@
 #ifdef DEBUG_HTTP
 	perror("nonblocking");
 #endif
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPConnectAttempt:  %s - %s",
+			"error setting non-blocking IO",
+			strerror( socket_errno( ) ) );
 	closesocket(s);
 	return(-1);
     }
 #endif /* !VMS */
 #endif /* !_WINSOCKAPI_ */
 
-
     if ((connect(s, addr, sizeof(*addr))==-1)) {
 	switch (socket_errno()) {
 	    case EINPROGRESS:
 	    case EWOULDBLOCK:
 		break;
 	    default:
-		perror("connect");
+		xmlGenericError( xmlGenericErrorContext,
+				"xmlNanoHTTPConnectAttempt:  %s - %s",
+				"error connecting to HTTP server",
+				strerror( socket_errno( ) ) );
 		closesocket(s);
 		return(-1);
 	}
@@ -695,13 +767,17 @@
     {
 	case 0:
 	    /* Time out */
+	    xmlGenericError( xmlGenericErrorContext, 
+	    			"xmlNanoHTTPConnectAttempt: %s",
+				"Connect attempt timed out." );
 	    closesocket(s);
 	    return(-1);
 	case -1:
 	    /* Ermm.. ?? */
-#ifdef DEBUG_HTTP
-	    perror("select");
-#endif
+	    xmlGenericError( xmlGenericErrorContext,
+	    			"xmlNanoHTTPConnectAttempt: %s - %s",
+				"Error connecting to host",
+				strerror( socket_errno( ) ) );
 	    closesocket(s);
 	    return(-1);
     }
@@ -711,15 +787,27 @@
 	len = sizeof(status);
 	if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char*)&status, &len) < 0 ) {
 	    /* Solaris error code */
+	    xmlGenericError( xmlGenericErrorContext,
+	    			"xmlNanoHTTPConnectAttempt: %s - %s",
+				"Error retrieving pending socket errors",
+				strerror( socket_errno( ) ) );
 	    return (-1);
 	}
 	if ( status ) {
 	    closesocket(s);
 	    errno = status;
+	    xmlGenericError( xmlGenericErrorContext,
+	    			"xmlNanoHTTPConnectAttempt: %s - %s",
+				"Error connecting to remote host",
+				strerror( status ) );
 	    return (-1);
 	}
     } else {
 	/* pbm */
+	xmlGenericError( xmlGenericErrorContext,
+		"xmlNanoHTTPConnectAttempt:  %s\n",
+		"Select returned, but descriptor not set for connection.\n" );
+	closesocket(s);
 	return (-1);
     }
     
@@ -759,9 +847,34 @@
     h=gethostbyname(host);
     if (h==NULL)
     {
-#ifdef DEBUG_HTTP
-	xmlGenericError(xmlGenericErrorContext,"unable to resolve '%s'.\n", host);
-#endif
+        const char *	h_err_txt = "";
+	switch ( h_errno )
+	{
+	    case HOST_NOT_FOUND:
+	        h_err_txt = "Authoritive host not found";
+		break;
+	    
+	    case TRY_AGAIN:
+		h_err_txt =
+			"Non-authoritive host not found or server failure.";
+		break;
+
+	    case NO_RECOVERY:
+		h_err_txt =
+		    "Non-recoverable errors:  FORMERR, REFUSED, or NOTIMP.";
+		break;
+
+	    case NO_ADDRESS:
+		h_err_txt = "Valid name, no data record of requested type.";
+		break;
+
+	    default:
+	        h_err_txt = "No error text defined.";
+	        break;
+	}
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPConnectHost:  %s '%s' - %s",
+			"Failed to resolve host", host, h_err_txt );
 	return(-1);
     }
     
@@ -793,7 +906,7 @@
 
 #ifdef DEBUG_HTTP
     xmlGenericError(xmlGenericErrorContext,
-	    "unable to connect to '%s'.\n", host);
+	    "xmlNanoHTTPConnectHost:  unable to connect to '%s'.\n", host);
 #endif
     return(-1);
 }
@@ -815,7 +928,7 @@
 void*
 xmlNanoHTTPOpen(const char *URL, char **contentType) {
     if (contentType != NULL) *contentType = NULL;
-    return(xmlNanoHTTPMethod(URL, NULL, NULL, contentType, NULL));
+    return(xmlNanoHTTPMethod(URL, NULL, NULL, contentType, NULL, 0));
 }
 
 /**
@@ -836,7 +949,7 @@
 xmlNanoHTTPOpenRedir(const char *URL, char **contentType, char **redir) {
     if (contentType != NULL) *contentType = NULL;
     if (redir != NULL) *redir = NULL;
-    return(xmlNanoHTTPMethodRedir(URL, NULL, NULL, contentType, redir, NULL));
+    return(xmlNanoHTTPMethodRedir(URL, NULL, NULL, contentType, redir, NULL,0));
 }
 
 /**
@@ -860,7 +973,7 @@
     if (len <= 0) return(0);
 
     while (ctxt->inptr - ctxt->inrptr < len) {
-        if (xmlNanoHTTPRecv(ctxt) == 0) break;
+        if (xmlNanoHTTPRecv(ctxt) <= 0) break;
     }
     if (ctxt->inptr - ctxt->inrptr < len)
         len = ctxt->inptr - ctxt->inrptr;
@@ -904,11 +1017,13 @@
 
 void*
 xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input,
-                  char **contentType, char **redir, const char *headers) {
+                  char **contentType, char **redir,
+		  const char *headers, int ilen ) {
     xmlNanoHTTPCtxtPtr ctxt;
     char *bp, *p;
-    int blen, ilen, ret;
+    int blen, ret;
     int head;
+    int xmt_bytes;
     int nbRedirects = 0;
     char *redirURL = NULL;
     
@@ -923,12 +1038,28 @@
 	ctxt = xmlNanoHTTPNewCtxt(redirURL);
     }
 
+    if ( ctxt == NULL ) {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPMethodRedir:  %s %s.",
+			"Unable to allocate HTTP context to URI",
+			( ( redirURL == NULL ) ? URL : redirURL ) );
+	return ( NULL );
+    }
+
     if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPMethodRedir:  %s - %s.",
+			"Not a valid HTTP URI",
+			( ( redirURL == NULL ) ? URL : redirURL ) );
         xmlNanoHTTPFreeCtxt(ctxt);
 	if (redirURL != NULL) xmlFree(redirURL);
         return(NULL);
     }
     if (ctxt->hostname == NULL) {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPMethodRedir:  %s - %s",
+			"Failed to identify host in URI",
+			( ( redirURL == NULL ) ? URL : redirURL ) );
         xmlNanoHTTPFreeCtxt(ctxt);
 	if (redirURL != NULL) xmlFree(redirURL);
         return(NULL);
@@ -948,43 +1079,52 @@
     }
     ctxt->fd = ret;
 
-    if (input != NULL) {
-	ilen = strlen(input);
-	blen += ilen + 32;
-    }
-    else
+    if (input == NULL)
 	ilen = 0;
+    else
+	blen += 36;
+
     if (headers != NULL)
-	blen += strlen(headers);
+	blen += strlen(headers) + 2;
     if (contentType && *contentType)
 	blen += strlen(*contentType) + 16;
-    blen += strlen(method) + strlen(ctxt->path) + 23;
+    blen += strlen(method) + strlen(ctxt->path) + 24;
     bp = xmlMalloc(blen);
+    if ( bp == NULL ) {
+        xmlNanoHTTPFreeCtxt( ctxt );
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPMethodRedir:  %s",
+			"Error allocating HTTP header buffer." );
+	return ( NULL );
+    }
+
+    p = bp;
+
     if (proxy) {
 	if (ctxt->port != 80) {
-	    sprintf(bp, "%s http://%s:%d%s", method, ctxt->hostname,
-		 ctxt->port, ctxt->path);
+	    p += sprintf( p, "%s http://%s:%d%s", method, ctxt->hostname,
+		 	ctxt->port, ctxt->path );
 	}
 	else
-	    sprintf(bp, "%s http://%s%s", method, ctxt->hostname, ctxt->path);
+	    p += sprintf( p, "%s http://%s%s", method,
+	    		ctxt->hostname, ctxt->path);
     }
     else
-	sprintf(bp, "%s %s", method, ctxt->path);
-    p = bp + strlen(bp);
-    sprintf(p, " HTTP/1.0\r\nHost: %s\r\n", ctxt->hostname);
-    p += strlen(p);
-    if (contentType != NULL && *contentType) {
-	sprintf(p, "Content-Type: %s\r\n", *contentType);
-	p += strlen(p);
-    }
-    if (headers != NULL) {
-	strcpy(p, headers);
-	p += strlen(p);
-    }
+	p += sprintf( p, "%s %s", method, ctxt->path);
+
+    p += sprintf(p, " HTTP/1.0\r\nHost: %s\r\n", ctxt->hostname);
+
+    if (contentType != NULL && *contentType) 
+	p += sprintf(p, "Content-Type: %s\r\n", *contentType);
+
+    if (headers != NULL)
+	p += sprintf( p, "%s", headers );
+
     if (input != NULL)
-	sprintf(p, "Content-Length: %d\r\n\r\n%s", ilen, input);
+	sprintf(p, "Content-Length: %d\r\n\r\n", ilen );
     else
 	strcpy(p, "\r\n");
+
 #ifdef DEBUG_HTTP
     xmlGenericError(xmlGenericErrorContext,
 	    "-> %s%s", proxy? "(Proxy) " : "", bp);
@@ -994,7 +1134,30 @@
 #endif
     ctxt->outptr = ctxt->out = bp;
     ctxt->state = XML_NANO_HTTP_WRITE;
-    xmlNanoHTTPSend(ctxt);
+    blen = strlen( ctxt->out );
+    xmt_bytes = xmlNanoHTTPSend(ctxt, ctxt->out, blen );
+#ifdef DEBUG_HTTP
+    if ( xmt_bytes != blen )
+        xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPMethodRedir:  Only %d of %d %s %s\n",
+			xmt_bytes, blen,
+			"bytes of HTTP headers sent to host",
+			ctxt->hostname );
+#endif
+
+    if ( input != NULL ) {
+        xmt_bytes = xmlNanoHTTPSend( ctxt, input, ilen );
+
+#ifdef DEBUG_HTTP
+	if ( xmt_bytes != ilen )
+	    xmlGenericError( xmlGenericErrorContext,
+	    		"xmlNanoHTTPMethodRedir:  Only %d of %d %s %s\n",
+			xmt_bytes, ilen,
+			"bytes of HTTP content sent to host",
+			ctxt->hostname );
+#endif
+    }
+
     ctxt->state = XML_NANO_HTTP_READ;
     head = 1;
 
@@ -1019,7 +1182,7 @@
 	xmlGenericError(xmlGenericErrorContext,
 		"\nRedirect to: %s\n", ctxt->location);
 #endif
-	while (xmlNanoHTTPRecv(ctxt)) ;
+	while ( xmlNanoHTTPRecv(ctxt) > 0 ) ;
         if (nbRedirects < XML_NANO_HTTP_MAX_REDIR) {
 	    nbRedirects++;
 	    if (redirURL != NULL)
@@ -1032,10 +1195,9 @@
 	if (redirURL != NULL) xmlFree(redirURL);
 #ifdef DEBUG_HTTP
 	xmlGenericError(xmlGenericErrorContext,
-		"Too many redirects, aborting ...\n");
+		"xmlNanoHTTPMethodRedir: Too many redirects, aborting ...\n");
 #endif
 	return(NULL);
-
     }
 
     if (contentType != NULL) {
@@ -1086,9 +1248,9 @@
 
 void*
 xmlNanoHTTPMethod(const char *URL, const char *method, const char *input,
-                  char **contentType, const char *headers) {
+                  char **contentType, const char *headers, int ilen) {
     return(xmlNanoHTTPMethodRedir(URL, method, input, contentType,
-		                  NULL, headers));
+		                  NULL, headers, ilen));
 }
 
 /**
@@ -1106,8 +1268,8 @@
  */
 int
 xmlNanoHTTPFetch(const char *URL, const char *filename, char **contentType) {
-    void *ctxt;
-    char buf[4096];
+    void *ctxt = NULL;
+    char *buf = NULL;
     int fd;
     int len;
     
@@ -1128,7 +1290,8 @@
 	}
     }
 
-    while ((len = xmlNanoHTTPRead(ctxt, buf, sizeof(buf))) > 0) {
+    xmlNanoHTTPFetchContent( ctxt, &buf, &len );
+    if ( len > 0 ) {
 	write(fd, buf, len);
     }
 
@@ -1165,7 +1328,8 @@
 	}
     }
 
-    while ((len = xmlNanoHTTPRead(ctxt, buf, sizeof(buf))) > 0) {
+    xmlNanoHTTPFetchContent( ctxt, &buf, &len );
+    if ( len > 0 ) {
 	write(fd, buf, len);
     }
 
@@ -1208,6 +1372,77 @@
     return(ctxt->authHeader);
 }
 
+/**
+ * xmlNanoHTTPContentLength
+ * @ctx:  the HTTP context
+ *
+ * Return the specified content length from the HTTP header.  Note that
+ * a value of -1 indicates that the content length element was not included in
+ * the response header.
+ */
+int
+xmlNanoHTTPContentLength( void * ctx ) {
+    xmlNanoHTTPCtxtPtr	ctxt = ctx;
+
+    return ( ( ctxt == NULL ) ? -1 : ctxt->ContentLength );
+}
+
+/**
+ * xmlNanoHTTPFetchContent
+ * @ctx:  the HTTP context
+ * @ptr:  pointer to set to the content buffer.
+ * @len:  integer pointer to hold the length of the content
+ *
+ * Returns 0 if all the content was read and available, returns
+ * -1 if received content length was less than specified or an error 
+ * occurred.
+ */
+int
+xmlNanoHTTPFetchContent( void * ctx, char ** ptr, int * len ) {
+    xmlNanoHTTPCtxtPtr	ctxt = ctx;
+
+    int			rc = 0;
+    int			cur_lgth;
+    int			rcvd_lgth;
+    int			dummy_int;
+    char *		dummy_ptr = NULL;
+
+    /*  Dummy up return input parameters if not provided  */
+
+    if ( len == NULL )
+        len = &dummy_int;
+
+    if ( ptr == NULL )
+        ptr = &dummy_ptr;
+
+    /*  But can't work without the context pointer  */
+
+    if ( ( ctxt == NULL ) || ( ctxt->content == NULL ) ) {
+        *len = 0;
+	*ptr = NULL;
+	return ( -1 );
+    }
+
+    rcvd_lgth = ctxt->inptr - ctxt->content;
+
+    while ( (cur_lgth = xmlNanoHTTPRecv( ctxt )) > 0 ) {
+
+	rcvd_lgth += cur_lgth;
+	if ( (ctxt->ContentLength > 0) && (rcvd_lgth >= ctxt->ContentLength) )
+	    break;
+    }
+
+    *ptr = ctxt->content;
+    *len = rcvd_lgth;
+
+    if ( ( ctxt->ContentLength > 0 ) && ( rcvd_lgth < ctxt->ContentLength ) )
+        rc = -1;
+    else if ( rcvd_lgth == 0 )
+	rc = -1;
+
+    return ( rc );
+}
+
 #ifdef STANDALONE
 int main(int argc, char **argv) {
     char *contentType = NULL;
diff --git a/tree.c b/tree.c
index e6d074e..f623476 100644
--- a/tree.c
+++ b/tree.c
@@ -6408,17 +6408,15 @@
 }
 
 /**
- * xmlSaveFileEnc:
- * @filename:  the filename (or URL)
- * @cur:  the document
- * @encoding:  the name of an encoding (or NULL)
- *
- * Dump an XML document, converting it to the given encoding
- *
- * returns: the number of byte written or -1 in case of failure.
+ * xmlSaveFormatFileEnc
+ * @filename:  the filename or URL to output
+ * @cur:  the document being saved
+ * @encoding:  the name of the encoding to use or NULL.
+ * @format:  should formatting spaces be added.
  */
 int
-xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
+xmlSaveFormatFileEnc( const char * filename, xmlDocPtr cur,
+			const char * encoding, int format ) {
     xmlOutputBufferPtr buf;
     xmlCharEncodingHandlerPtr handler = NULL;
     xmlCharEncoding enc;
@@ -6439,18 +6437,37 @@
 	}
     }
 
+#ifdef HAVE_ZLIB_H
+    if (cur->compression < 0) cur->compression = xmlCompressMode;
+#endif
     /* 
      * save the content to a temp buffer.
      */
-    buf = xmlOutputBufferCreateFilename(filename, handler, 0);
+    buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
     if (buf == NULL) return(-1);
 
-    xmlDocContentDumpOutput(buf, cur, encoding, 0);
+    xmlDocContentDumpOutput(buf, cur, encoding, format);
 
     ret = xmlOutputBufferClose(buf);
     return(ret);
 }
 
+
+/**
+ * xmlSaveFileEnc:
+ * @filename:  the filename (or URL)
+ * @cur:  the document
+ * @encoding:  the name of an encoding (or NULL)
+ *
+ * Dump an XML document, converting it to the given encoding
+ *
+ * returns: the number of byte written or -1 in case of failure.
+ */
+int
+xmlSaveFileEnc(const char *filename, xmlDocPtr cur, const char *encoding) {
+    return ( xmlSaveFormatFileEnc( filename, cur, encoding, 0 ) );
+}
+
 /**
  * xmlSaveFormatFile:
  * @filename:  the filename (or URL)
@@ -6465,47 +6482,7 @@
  */
 int
 xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format) {
-    xmlOutputBufferPtr buf;
-    const char *encoding;
-    xmlCharEncodingHandlerPtr handler = NULL;
-    int ret;
-
-    if (cur == NULL)
-	return(-1);
-    encoding = (const char *) cur->encoding;
-
-    /* 
-     * save the content to a temp buffer.
-     */
-#ifdef HAVE_ZLIB_H
-    if (cur->compression < 0) cur->compression = xmlCompressMode;
-#endif
-    if (encoding != NULL) {
-	xmlCharEncoding enc;
-
-	enc = xmlParseCharEncoding(encoding);
-
-	if (cur->charset != XML_CHAR_ENCODING_UTF8) {
-	    xmlGenericError(xmlGenericErrorContext,
-		    "xmlSaveFile: document not in UTF8\n");
-	    return(-1);
-	}
-	if (enc != XML_CHAR_ENCODING_UTF8) {
-	    handler = xmlFindCharEncodingHandler(encoding);
-	    if (handler == NULL) {
-		xmlFree((char *) cur->encoding);
-		cur->encoding = NULL;
-	    }
-	}
-    }
-
-    buf = xmlOutputBufferCreateFilename(filename, handler, cur->compression);
-    if (buf == NULL) return(-1);
-
-    xmlDocContentDumpOutput(buf, cur, NULL, format);
-
-    ret = xmlOutputBufferClose(buf);
-    return(ret);
+    return ( xmlSaveFormatFileEnc( filename, cur, NULL, format ) );
 }
 
 /**
@@ -6520,6 +6497,6 @@
  */
 int
 xmlSaveFile(const char *filename, xmlDocPtr cur) {
-    return(xmlSaveFormatFile(filename, cur, 0));
+    return(xmlSaveFormatFileEnc(filename, cur, NULL, 0));
 }
 
diff --git a/xmlIO.c b/xmlIO.c
index 7c328c2..b4f2efb 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -3,7 +3,7 @@
  *
  * See Copyright for the status of this software.
  *
- * daniel@veillard.com
+ * Daniel.Veillard@w3.org
  *
  * 14 Nov 2000 ht - for VMS, truncated name of long functions to under 32 char
  */
@@ -75,6 +75,7 @@
 #define xmlRegisterDefaultOutputCallbacks xmlRegisterDefOutputCallbacks
 #endif
 
+/* #define VERBOSE_FAILURE */
 /* #define DEBUG_EXTERNAL_ENTITIES */
 /* #define DEBUG_INPUT */
 
@@ -197,10 +198,12 @@
  * @context:  the I/O context
  *
  * Close an I/O channel
+ *
+ * Returns 0 in case of success and error code otherwise
  */
-static void
+static int
 xmlFdClose (void * context) {
-    close((int) (long) context);
+    return ( close((int) (long) context) );
 }
 
 /**
@@ -324,9 +327,9 @@
  *
  * Close an I/O channel
  */
-static void
+static int
 xmlFileClose (void * context) {
-    fclose((FILE *) context);
+    return ( ( fclose((FILE *) context) == EOF ) ? -1 : 0 );
 }
 
 /**
@@ -335,9 +338,9 @@
  *
  * Flush an I/O channel
  */
-static void
+static int
 xmlFileFlush (void * context) {
-    fflush((FILE *) context);
+    return ( ( fflush((FILE *) context) == EOF ) ? -1 : 0 );
 }
 
 #ifdef HAVE_ZLIB_H
@@ -466,9 +469,9 @@
  *
  * Close a compressed I/O channel
  */
-static void
+static int
 xmlGzfileClose (void * context) {
-    gzclose((gzFile) context);
+    return ( ( gzclose((gzFile) context) == Z_OK ) ? 0 : -1 );
 }
 #endif /* HAVE_ZLIB_H */
 
@@ -478,6 +481,369 @@
  *			I/O for HTTP file accesses			*
  *									*
  ************************************************************************/
+
+typedef struct xmlIOHTTPWriteCtxt_
+{
+    int			compression;
+
+    char *		uri;
+
+    void *		doc_buff;
+
+} xmlIOHTTPWriteCtxt, *xmlIOHTTPWriteCtxtPtr;
+
+#ifdef HAVE_ZLIB_H
+
+#define DFLT_WBITS		( -15 )
+#define DFLT_MEM_LVL		( 8 )
+#define GZ_MAGIC1		( 0x1f )
+#define GZ_MAGIC2		( 0x8b )
+#define LXML_ZLIB_OS_CODE	( 0x03 )
+#define INIT_HTTP_BUFF_SIZE	( 32768 )
+#define DFLT_ZLIB_RATIO		( 5 )
+
+/*
+**  Data structure and functions to work with sending compressed data
+**  via HTTP.
+*/
+
+typedef struct xmlZMemBuff_
+{
+   unsigned long	size;
+   unsigned long	crc;
+
+   unsigned char *	zbuff;
+   z_stream		zctrl;
+
+} xmlZMemBuff, *xmlZMemBuffPtr;
+
+/**
+ * append_reverse_ulong
+ * @buff:  Compressed memory buffer
+ * @data:  Unsigned long to append
+ *
+ * Append a unsigned long in reverse byte order to the end of the
+ * memory buffer.
+ */
+static void
+append_reverse_ulong( xmlZMemBuff * buff, unsigned long data ) {
+
+    int		idx;
+
+    if ( buff == NULL )
+	return;
+
+    /*
+    **  This is plagiarized from putLong in gzio.c (zlib source) where
+    **  the number "4" is hardcoded.  If zlib is ever patched to 
+    **  support 64 bit file sizes, this code would need to be patched
+    **  as well.
+    */
+
+    for ( idx = 0; idx < 4; idx++ ) {
+	*buff->zctrl.next_out = ( data & 0xff );
+	data >>= 8;
+	buff->zctrl.next_out++;
+    }
+
+    return;
+}
+
+/**
+ *
+ * xmlFreeZMemBuff
+ * @buff:  The memory buffer context to clear
+ *
+ * Release all the resources associated with the compressed memory buffer.
+ */
+static void
+xmlFreeZMemBuff( xmlZMemBuffPtr buff ) {
+    
+    int z_err;
+
+    if ( buff == NULL )
+	return;
+
+    xmlFree( buff->zbuff );
+    z_err = deflateEnd( &buff->zctrl );
+#ifdef DEBUG_HTTP
+    if ( z_err != Z_OK )
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlFreeZMemBuff:  Error releasing zlib context:  %d\n",
+			z_err );
+#endif
+
+    xmlFree( buff );
+    return;
+}
+
+/**
+ * xmlCreateZMemBuff
+ *@compression:	Compression value to use
+ *
+ * Create a memory buffer to hold the compressed XML document.  The
+ * compressed document in memory will end up being identical to what
+ * would be created if gzopen/gzwrite/gzclose were being used to 
+ * write the document to disk.  The code for the header/trailer data to
+ * the compression is plagiarized from the zlib source files.
+ */
+static void *
+xmlCreateZMemBuff( int compression ) {
+
+    int			z_err;
+    int			hdr_lgth;
+    xmlZMemBuffPtr	buff = NULL;
+
+    if ( ( compression < 1 ) || ( compression > 9 ) )
+	return ( NULL );
+
+    /*  Create the control and data areas  */
+
+    buff = xmlMalloc( sizeof( xmlZMemBuff ) );
+    if ( buff == NULL ) {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlCreateZMemBuff:  %s\n",
+			"Failure allocating buffer context." );
+	return ( NULL );
+    }
+
+    (void)memset( buff, 0, sizeof( xmlZMemBuff ) );
+    buff->size = INIT_HTTP_BUFF_SIZE;
+    buff->zbuff = xmlMalloc( buff->size );
+    if ( buff->zbuff == NULL ) {
+	xmlFreeZMemBuff( buff );
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlCreateZMemBuff:  %s\n",
+			"Failure allocating data buffer." );
+	return ( NULL );
+    }
+
+    z_err = deflateInit2( &buff->zctrl, compression, Z_DEFLATED,
+			    DFLT_WBITS, DFLT_MEM_LVL, Z_DEFAULT_STRATEGY );
+    if ( z_err != Z_OK ) {
+	xmlFreeZMemBuff( buff );
+	buff = NULL;
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlCreateZMemBuff:  %s %d\n",
+			"Error initializing compression context.  ZLIB error:",
+			z_err );
+	return ( NULL );
+    }
+
+    /*  Set the header data.  The CRC will be needed for the trailer  */
+
+    buff->crc = crc32( 0L, Z_NULL, 0 );
+    hdr_lgth = sprintf( (char *)buff->zbuff, "%c%c%c%c%c%c%c%c%c%c",
+			GZ_MAGIC1, GZ_MAGIC2, Z_DEFLATED, 
+			0, 0, 0, 0, 0, 0, LXML_ZLIB_OS_CODE );
+    buff->zctrl.next_out  = buff->zbuff + hdr_lgth;
+    buff->zctrl.avail_out = buff->size - hdr_lgth;
+
+    return ( buff );
+}
+
+/**
+ * xmlZMemBuffExtend
+ * @buff:  Buffer used to compress and consolidate data.
+ * @ext_amt:   Number of bytes to extend the buffer.
+ *
+ * Extend the internal buffer used to store the compressed data by the
+ * specified amount.
+ *
+ * Returns 0 on success or -1 on failure to extend the buffer.  On failure
+ * the original buffer still exists at the original size.
+ */
+static int
+xmlZMemBuffExtend( xmlZMemBuffPtr buff, size_t ext_amt ) {
+
+    int			rc = -1;
+    size_t		new_size;
+    size_t		cur_used;
+
+    unsigned char *	tmp_ptr = NULL;
+
+    if ( buff == NULL )
+	return ( -1 );
+
+    else if ( ext_amt == 0 )
+	return ( 0 );
+
+    cur_used = buff->zctrl.next_out - buff->zbuff;
+    new_size = buff->size + ext_amt;
+
+#ifdef DEBUG_HTTP
+    if ( cur_used > new_size ) 
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlZMemBuffExtend:  %s\n%s %d bytes.\n",
+			"Buffer overwrite detected during compressed memory",
+			"buffer extension.  Overflowed by", 
+			(cur_used - new_size ) );
+#endif
+
+    tmp_ptr = xmlRealloc( buff->zbuff, new_size );
+    if ( tmp_ptr != NULL ) {
+	rc = 0;
+	buff->size  = new_size;
+	buff->zbuff = tmp_ptr;
+	buff->zctrl.next_out  = tmp_ptr + cur_used;
+	buff->zctrl.avail_out = new_size - cur_used;
+    }
+    else {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlZMemBuffExtend:  %s %lu bytes.\n",
+			"Allocation failure extending output buffer to",
+			new_size );
+    }
+
+    return ( rc );
+}
+
+/**
+ * xmlZMemBuffAppend
+ * @buff:  Buffer used to compress and consolidate data
+ * @src:   Uncompressed source content to append to buffer
+ * @len:   Length of source data to append to buffer
+ *
+ * Compress and append data to the internal buffer.  The data buffer
+ * will be expanded if needed to store the additional data.
+ *
+ * Returns the number of bytes appended to the buffer or -1 on error.
+ */
+static int
+xmlZMemBuffAppend( xmlZMemBuffPtr buff, const char * src, int len ) {
+
+    int		z_err;
+    size_t	min_accept;
+
+    if ( ( buff == NULL ) || ( src == NULL ) )
+	return ( -1 );
+
+    buff->zctrl.avail_in = len;
+    buff->zctrl.next_in  = (unsigned char *)src;
+    while ( buff->zctrl.avail_in > 0 ) {
+	/*
+	**  Extend the buffer prior to deflate call if a reasonable amount
+	**  of output buffer space is not available.
+	*/
+	min_accept = buff->zctrl.avail_in / DFLT_ZLIB_RATIO;
+	if ( buff->zctrl.avail_out <= min_accept ) {
+	    if ( xmlZMemBuffExtend( buff, buff->size ) == -1 )
+		return ( -1 );
+	}
+
+	z_err = deflate( &buff->zctrl, Z_NO_FLUSH );
+	if ( z_err != Z_OK ) {
+	    xmlGenericError( xmlGenericErrorContext,
+			"xmlZMemBuffAppend:  %s %d %s - %d",
+			"Compression error while appending",
+			len, "bytes to buffer.  ZLIB error", z_err );
+	    return ( -1 );
+	}
+    }
+
+    buff->crc = crc32( buff->crc, (unsigned char *)src, len );
+
+    return ( len );
+}
+
+/**
+ * xmlZMemBuffGetContent
+ * @buff:  Compressed memory content buffer
+ * @data_ref:  Pointer reference to point to compressed content
+ *
+ * Flushes the compression buffers, appends gzip file trailers and
+ * returns the compressed content and length of the compressed data.
+ * NOTE:  The gzip trailer code here is plagiarized from zlib source.
+ *
+ * Returns the length of the compressed data or -1 on error.
+ */
+static int
+xmlZMemBuffGetContent( xmlZMemBuffPtr buff, char ** data_ref ) {
+
+    int		zlgth = -1;
+    int		z_err;
+
+    if ( ( buff == NULL ) || ( data_ref == NULL ) )
+	return ( -1 );
+
+    /*  Need to loop until compression output buffers are flushed  */
+
+    do
+    {
+	z_err = deflate( &buff->zctrl, Z_FINISH );
+	if ( z_err == Z_OK ) {
+	    /*  In this case Z_OK means more buffer space needed  */
+
+	    if ( xmlZMemBuffExtend( buff, buff->size ) == -1 )
+		return ( -1 );
+	}
+    }
+    while ( z_err == Z_OK );
+
+    /*  If the compression state is not Z_STREAM_END, some error occurred  */
+
+    if ( z_err == Z_STREAM_END ) {
+
+	/*  Need to append the gzip data trailer  */
+
+	if ( buff->zctrl.avail_out < ( 2 * sizeof( unsigned long ) ) ) {
+	    if ( xmlZMemBuffExtend(buff, (2 * sizeof(unsigned long))) == -1 )
+		return ( -1 );
+	}
+
+	/*
+	**  For whatever reason, the CRC and length data are pushed out
+	**  in reverse byte order.  So a memcpy can't be used here.
+	*/
+
+	append_reverse_ulong( buff, buff->crc );
+	append_reverse_ulong( buff, buff->zctrl.total_in );
+
+	zlgth = buff->zctrl.next_out - buff->zbuff;
+	*data_ref = (char *)buff->zbuff;
+    }
+
+    else
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlZMemBuffGetContent:  %s - %d\n",
+			"Error flushing zlib buffers.  Error code", z_err );
+    
+    return ( zlgth );
+}
+#endif  /*  HAVE_ZLIB_H  */
+
+/**
+ * xmlFreeHTTPWriteCtxt
+ * @ctxt:  Context to cleanup
+ *
+ * Free allocated memory and reclaim system resources.
+ *
+ * No return value.
+ */
+static void
+xmlFreeHTTPWriteCtxt( xmlIOHTTPWriteCtxtPtr ctxt )
+{
+    if ( ctxt->uri != NULL )
+	free( ctxt->uri );
+
+    if ( ctxt->doc_buff != NULL ) {
+
+#ifdef HAVE_ZLIB_H
+	if ( ctxt->compression > 0 ) {
+	    xmlFreeZMemBuff( ctxt->doc_buff );
+	}
+	else
+#endif
+	{
+	    xmlOutputBufferClose( ctxt->doc_buff );
+	}
+    }
+
+    free( ctxt );
+    return;
+}
+
+
 /**
  * xmlIOHTTPMatch:
  * @filename:  the URI for matching
@@ -507,6 +873,85 @@
 }
 
 /**
+ * xmlIOHTTPOpenW
+ * @post_uri:  The destination URI for the document
+ * @compression:  The compression desired for the document.
+ *
+ * Open a temporary buffer to collect the document for a subsequent HTTP POST
+ * request.  Non-static as is called from the output buffer creation routine.
+ *
+ * Returns an I/O context or NULL in case of error.
+ */
+
+void *
+xmlIOHTTPOpenW( const char * post_uri, int compression ) {
+
+    xmlIOHTTPWriteCtxtPtr	ctxt = NULL;
+
+    if ( post_uri == NULL )
+	return ( NULL );
+
+    ctxt = xmlMalloc( sizeof( xmlIOHTTPWriteCtxt ) );
+    if ( ctxt == NULL ) {
+	xmlGenericError( xmlGenericErrorContext,
+		"xmlIOHTTPOpenW:  Failed to create output HTTP context.\n" );
+	return ( NULL );
+    }
+
+    (void)memset( ctxt, 0, sizeof( xmlIOHTTPWriteCtxt ) );
+
+    ctxt->uri = strdup( post_uri );
+    if ( ctxt->uri == NULL ) {
+	xmlGenericError( xmlGenericErrorContext,
+		"xmlIOHTTPOpenW:  Failed to duplicate destination URI.\n" );
+	xmlFreeHTTPWriteCtxt( ctxt );
+	return ( NULL );
+    }
+
+    /*
+    **  Since the document length is required for an HTTP post,
+    **  need to put the document into a buffer.  A memory buffer
+    **  is being used to avoid pushing the data to disk and back.
+    */
+
+#ifdef HAVE_ZLIB_H
+    if ( ( compression > 0 ) && ( compression <= 9 ) ) {
+	
+	ctxt->compression = compression;
+	ctxt->doc_buff    = xmlCreateZMemBuff( compression );
+    }
+    else
+#endif
+    {
+	/*  Any character conversions should have been done before this  */
+
+	ctxt->doc_buff = xmlAllocOutputBuffer( NULL );
+    }
+
+    if ( ctxt->doc_buff == NULL ) {
+	xmlFreeHTTPWriteCtxt( ctxt );
+	ctxt = NULL;
+    }
+
+    return ( ctxt );
+}
+				
+/**
+ * xmlIOHTTPDfltOpenW
+ * @post_uri:  The destination URI for this document.
+ *
+ * Calls xmlIOHTTPOpenW with no compression to set up for a subsequent
+ * HTTP post command.  This function should generally not be used as
+ * the open callback is short circuited in xmlOutputBufferCreateFile.
+ *
+ * Returns a pointer to the new IO context.
+ */
+static void *
+xmlIOHTTPDfltOpenW( const char * post_uri ) {
+    return ( xmlIOHTTPOpenW( post_uri, 0 ) );
+}
+
+/**
  * xmlIOHTTPRead:
  * @context:  the I/O context
  * @buffer:  where to drop data
@@ -522,15 +967,219 @@
 }
 
 /**
+ * xmlIOHTTPWrite
+ * @context:  previously opened writing context
+ * @buffer:   data to output to temporary buffer
+ * @len:      bytes to output
+ *
+ * Collect data from memory buffer into a temporary file for later
+ * processing.
+ *
+ * Returns number of bytes written.
+ */
+
+static int
+xmlIOHTTPWrite( void * context, const char * buffer, int len ) { 
+
+    xmlIOHTTPWriteCtxtPtr	ctxt = context;
+
+    if ( ( ctxt == NULL ) || ( ctxt->doc_buff == NULL ) || ( buffer == NULL ) )
+	return ( -1 );
+
+    if ( len > 0 ) {
+
+	/*  Use gzwrite or fwrite as previously setup in the open call  */
+
+#ifdef HAVE_ZLIB_H
+	if ( ctxt->compression > 0 ) 
+	    len = xmlZMemBuffAppend( ctxt->doc_buff, buffer, len );
+
+	else
+#endif
+	    len = xmlOutputBufferWrite( ctxt->doc_buff, len, buffer );
+
+	if ( len < 0 ) {
+	    xmlGenericError( xmlGenericErrorContext,
+			"xmlIOHTTPWrite:  %s\n%s '%s'.\n",
+			"Error appending to internal buffer.",
+			"Error sending document to URI",
+			ctxt->uri );
+	}
+    }
+
+    return ( len );
+}
+
+
+/**
  * xmlIOHTTPClose:
  * @context:  the I/O context
  *
  * Close an HTTP I/O channel
  */
-static void
+static int
 xmlIOHTTPClose (void * context) {
     xmlNanoHTTPClose(context);
+    return 0;
 }
+
+/**
+ * xmlIOHTTCloseWrite
+ * @context:  The I/O context
+ * @http_mthd: The HTTP method to be used when sending the data
+ *
+ * Close the transmit HTTP I/O channel and actually send the data.
+ */
+static int
+xmlIOHTTPCloseWrite( void * context, const char * http_mthd ) {
+
+    int				close_rc = -1;
+    int				http_rtn = 0;
+    int				content_lgth = 0;
+    xmlIOHTTPWriteCtxtPtr	ctxt = context;
+
+    char *			http_content = NULL;
+    char *			content_encoding = NULL;
+    char *			content_type = (char *) "text/xml";
+    void *			http_ctxt = NULL;
+
+    if ( ( ctxt == NULL ) || ( http_mthd == NULL ) )
+	return ( -1 );
+
+    /*  Retrieve the content from the appropriate buffer  */
+
+#ifdef HAVE_ZLIB_H
+
+    if ( ctxt->compression > 0 ) {
+	content_lgth = xmlZMemBuffGetContent( ctxt->doc_buff, &http_content );
+	content_encoding = (char *) "Content-Encoding: gzip";
+    }
+    else
+#endif
+    {
+	/*  Pull the data out of the memory output buffer  */
+
+	xmlOutputBufferPtr	dctxt = ctxt->doc_buff;
+	http_content = (char *)dctxt->buffer->content;
+	content_lgth = dctxt->buffer->use;
+    }
+
+    if ( http_content == NULL ) {
+	xmlGenericError( xmlGenericErrorContext,
+			"xmlIOHTTPCloseWrite:  %s '%s' %s '%s'.\n",
+			"Error retrieving content.\nUnable to",
+			http_mthd, "data to URI", ctxt->uri );
+    }
+
+    else {
+
+	http_ctxt = xmlNanoHTTPMethod( ctxt->uri, http_mthd, http_content,
+					&content_type, content_encoding, 
+					content_lgth );
+
+	if ( http_ctxt != NULL ) {
+#ifdef DEBUG_HTTP
+	    /*  If testing/debugging - dump reply with request content  */
+
+	    FILE *	tst_file = NULL;
+	    char	buffer[ 4096 ];
+	    char *	dump_name = NULL;
+	    int		avail;
+
+	    xmlGenericError( xmlGenericErrorContext,
+			"xmlNanoHTTPCloseWrite:  HTTP %s to\n%s returned %d.\n",
+			http_mthd, ctxt->uri,
+			xmlNanoHTTPReturnCode( http_ctxt ) );
+
+	    /*
+	    **  Since either content or reply may be gzipped,
+	    **  dump them to separate files instead of the 
+	    **  standard error context.
+	    */
+
+	    dump_name = tempnam( NULL, "lxml" );
+	    if ( dump_name != NULL ) {
+		(void)sprintf( buffer, "%s.content", dump_name );
+
+		tst_file = fopen( buffer, "w" );
+		if ( tst_file != NULL ) {
+		    xmlGenericError( xmlGenericErrorContext,
+			"Transmitted content saved in file:  %s\n", buffer );
+
+		    fwrite( http_content, sizeof( char ),
+					content_lgth, tst_file );
+		    fclose( tst_file );
+		}
+
+		(void)sprintf( buffer, "%s.reply", dump_name );
+		tst_file = fopen( buffer, "w" );
+		if ( tst_file != NULL ) {
+		    xmlGenericError( xmlGenericErrorContext,
+			"Reply content saved in file:  %s\n", buffer );
+
+
+		    while ( (avail = xmlNanoHTTPRead( http_ctxt,
+					buffer, sizeof( buffer ) )) > 0 ) {
+
+			fwrite( buffer, sizeof( char ), avail, tst_file );
+		    }
+
+		    fclose( tst_file );
+		}
+
+		free( dump_name );
+	    }
+#endif  /*  DEBUG_HTTP  */
+
+	    http_rtn = xmlNanoHTTPReturnCode( http_ctxt );
+	    if ( ( http_rtn >= 200 ) && ( http_rtn < 300 ) )
+		close_rc = 0;
+	    else
+		xmlGenericError( xmlGenericErrorContext,
+			    "xmlIOHTTPClose: HTTP '%s' of %d %s\n'%s' %s %d\n",
+			    http_mthd, content_lgth,
+			    "bytes to URI", ctxt->uri,
+			    "failed.  HTTP return code:", http_rtn );
+
+	    xmlNanoHTTPClose( http_ctxt );
+	    xmlFree( content_type );
+	}
+    }
+
+    /*  Final cleanups  */
+
+    xmlFreeHTTPWriteCtxt( ctxt );
+
+    return ( close_rc );
+}
+
+/**
+ * xmlIOHTTPClosePut
+ *
+ * @context:  The I/O context
+ *
+ * Close the transmit HTTP I/O channel and actually send data using a PUT
+ * HTTP method.
+ */
+static int
+xmlIOHTTPClosePut( void * ctxt ) {
+    return ( xmlIOHTTPCloseWrite( ctxt, "PUT" ) );
+}
+
+
+/**
+ * xmlIOHTTPClosePost
+ *
+ * @context:  The I/O context
+ *
+ * Close the transmit HTTP I/O channel and actually send data using a POST
+ * HTTP method.
+ */
+static int
+xmlIOHTTPClosePost( void * ctxt ) {
+    return ( xmlIOHTTPCloseWrite( ctxt, "POST" ) );
+}
+
 #endif /* LIBXML_HTTP_ENABLED */
 
 #ifdef LIBXML_FTP_ENABLED
@@ -588,9 +1237,9 @@
  *
  * Close an FTP I/O channel
  */
-static void
+static int
 xmlIOFTPClose (void * context) {
-    xmlNanoFTPClose(context);
+    return ( xmlNanoFTPClose(context) );
 }
 #endif /* LIBXML_FTP_ENABLED */
 
@@ -696,6 +1345,12 @@
 
     xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW,
 	                      xmlFileWrite, xmlFileClose);
+
+#ifdef LIBXML_HTTP_ENABLED
+    xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPDfltOpenW,
+	                       xmlIOHTTPWrite, xmlIOHTTPClosePut);
+#endif
+
 /*********************************
  No way a-priori to distinguish between gzipped files from
  uncompressed ones except opening if existing then closing
@@ -705,12 +1360,6 @@
     xmlRegisterOutputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
 	                       xmlGzfileWrite, xmlGzfileClose);
 #endif
- No HTTP PUT support yet, patches welcome
-
-#ifdef LIBXML_HTTP_ENABLED
-    xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPOpen,
-	                       xmlIOHTTPWrite, xmlIOHTTPClose);
-#endif
 
  Nor FTP PUT ....
 #ifdef LIBXML_FTP_ENABLED
@@ -721,6 +1370,29 @@
     xmlOutputCallbackInitialized = 1;
 }
 
+#ifdef LIBXML_HTTP_ENABLED
+/**
+ * xmlRegisterHTTPPostCallbacks
+ *
+ * By default, libxml submits HTTP output requests using the "PUT" method.
+ * Calling this method changes the HTTP output method to use the "POST"
+ * method instead.
+ *
+ */
+void
+xmlRegisterHTTPPostCallbacks( void ) {
+
+    /*  Register defaults if not done previously  */
+
+    if ( xmlOutputCallbackInitialized == 0 )
+	xmlRegisterDefaultOutputCallbacks( );
+
+    xmlRegisterOutputCallbacks(xmlIOHTTPMatch, xmlIOHTTPDfltOpenW,
+	                       xmlIOHTTPWrite, xmlIOHTTPClosePost);
+    return;
+}
+#endif
+
 /**
  * xmlAllocParserInputBuffer:
  * @enc:  the charset encoding if known
@@ -838,13 +1510,14 @@
 int
 xmlOutputBufferClose(xmlOutputBufferPtr out) {
     int written;
+    int err_rc = 0;
 
     if (out == NULL)
         return(-1);
     if (out->writecallback != NULL)
 	xmlOutputBufferFlush(out);
     if (out->closecallback != NULL) {
-	out->closecallback(out->context);
+	err_rc = out->closecallback(out->context);
     }
     written = out->written;
     if (out->conv) {
@@ -860,7 +1533,7 @@
     }
 
     xmlFree(out);
-    return(written);
+    return( ( err_rc == 0 ) ? written : err_rc );
 }
 
 /**
@@ -973,13 +1646,21 @@
     int i;
     void *context = NULL;
 
+    int is_http_uri = 0;	/*   Can't change if HTTP disabled  */
+
     if (xmlOutputCallbackInitialized == 0)
 	xmlRegisterDefaultOutputCallbacks();
 
     if (URI == NULL) return(NULL);
 
+#ifdef LIBXML_HTTP_ENABLED
+    /*  Need to prevent HTTP URI's from falling into zlib short circuit  */
+
+    is_http_uri = xmlIOHTTPMatch( URI );
+#endif
+
 #ifdef HAVE_ZLIB_H
-    if ((compression > 0) && (compression <= 9)) {
+    if ((compression > 0) && (compression <= 9) && (is_http_uri == 0)) {
         context = xmlGzfileOpenW(URI, compression);
 	if (context != NULL) {
 	    ret = xmlAllocOutputBuffer(encoder);
@@ -994,17 +1675,27 @@
 #endif
 
     /*
-     * Try to find one of the output accept method accepting taht scheme
+     * Try to find one of the output accept method accepting that scheme
      * Go in reverse to give precedence to user defined handlers.
      */
     for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
 	if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
 	    (xmlOutputCallbackTable[i].matchcallback(URI) != 0)) {
-	    context = xmlOutputCallbackTable[i].opencallback(URI);
+
+#if ( defined( LIBXML_HTTP_ENABLED ) && defined( HAVE_ZLIB_H ) )
+	    /*  Need to pass compression parameter into HTTP open calls  */
+
+	    if ( xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch )
+		context = xmlIOHTTPOpenW( URI, compression );
+	    else
+#endif
+		context = xmlOutputCallbackTable[i].opencallback(URI);
+
 	    if (context != NULL)
 		break;
 	}
     }
+
     if (context == NULL) {
 	return(NULL);
     }
@@ -1624,7 +2315,7 @@
 
 #ifdef DEBUG_EXTERNAL_ENTITIES
     xmlGenericError(xmlGenericErrorContext,
-	    "xmlDefaultExternalEntityLoader(%s, %s)\n", URL, ID);
+	    "xmlDefaultExternalEntityLoader(%s, xxx)\n", URL);
 #endif
 #ifdef LIBXML_CATALOG_ENABLED
     /*