- win32config.h.in: updated
- xmlversion.h.in: crap forgot to update this, this mean 2.1.0
  lacks iconv support :-( need to release 2.1.1
- configure.in: release 2.1.1
- HTMLparser: fixed bug #14784
- xpath.c HTMLparser.c encoding.c parser.c: fix warning raised
  by Windows compiler
- HTMLparser.c SAX.c HTMLtree.h tree.h: create HTML document in
  the SAX startDocument() callback.
- TODO: updated
- rebuild doc
Daniel
diff --git a/doc/html/book1.html b/doc/html/book1.html
index f23eca2..e066da6 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -4,16 +4,13 @@
 >Gnome XML Library Reference Manual</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="NEXT"
 TITLE="Libxml Programming Notes"
 HREF="libxml-notes.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="BOOK"
 ><DIV
@@ -49,14 +46,14 @@
 ><DIV
 CLASS="ADDRESS"
 ><P
-CLASS="ADDRESS"
+CLASS="LITERALLAYOUT"
 >	&nbsp;&nbsp;&nbsp;&nbsp;Daniel.Veillard@w3.org<br>
 	&nbsp;&nbsp;</P
 ></DIV
 ></DIV
 ><P
 CLASS="COPYRIGHT"
->Copyright &copy; 1999 by <SPAN
+>Copyright © 1999 by <SPAN
 CLASS="HOLDER"
 >Daniel Veillard</SPAN
 ></P
diff --git a/doc/html/gnome-xml-debugxml.html b/doc/html/gnome-xml-debugxml.html
index 7a01e36..3c8a1da 100644
--- a/doc/html/gnome-xml-debugxml.html
+++ b/doc/html/gnome-xml-debugxml.html
@@ -4,7 +4,7 @@
 >debugXML</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-DEBUGXML"
->debugXML</A
-></H1
+>debugXML</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN11140"
+NAME="AEN14266"
 ></A
 ><H2
 >Name</H2
->debugXML&nbsp;--&nbsp;</DIV
+>debugXML &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN11143"
+NAME="AEN14269"
 ></A
 ><H2
 >Synopsis</H2
@@ -216,6 +210,17 @@
 > node,
                                              int depth);
 void        <A
+HREF="gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENTHEAD"
+>xmlDebugDumpDocumentHead</A
+>        (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+void        <A
 HREF="gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENT"
 >xmlDebugDumpDocument</A
 >            (<GTKDOCLINK
@@ -225,7 +230,73 @@
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
-> doc);</PRE
+> doc);
+void        <A
+HREF="gnome-xml-debugxml.html#XMLDEBUGDUMPENTITIES"
+>xmlDebugDumpEntities</A
+>            (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+void        <A
+HREF="gnome-xml-debugxml.html#XMLLSONENODE"
+>xmlLsOneNode</A
+>                    (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+char*       (<A
+HREF="gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC"
+>*xmlShellReadlineFunc</A
+>)         (char *prompt);
+struct      <A
+HREF="gnome-xml-debugxml.html#XMLSHELLCTXT"
+>xmlShellCtxt</A
+>;
+typedef     <A
+HREF="gnome-xml-debugxml.html#XMLSHELLCTXTPTR"
+>xmlShellCtxtPtr</A
+>;
+int         (<A
+HREF="gnome-xml-debugxml.html#XMLSHELLCMD"
+>*xmlShellCmd</A
+>)                  (<A
+HREF="gnome-xml-debugxml.html#XMLSHELLCTXTPTR"
+>xmlShellCtxtPtr</A
+> ctxt,
+                                             char *arg,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node2);
+void        <A
+HREF="gnome-xml-debugxml.html#XMLSHELL"
+>xmlShell</A
+>                        (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             char *filename,
+                                             <A
+HREF="gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC"
+>xmlShellReadlineFunc</A
+> input,
+                                             <GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -233,7 +304,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11167"
+NAME="AEN14313"
 ></A
 ><H2
 >Description</H2
@@ -243,14 +314,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11170"
+NAME="AEN14316"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11172"
+NAME="AEN14318"
 ></A
 ><H3
 ><A
@@ -332,7 +403,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11192"
+NAME="AEN14338"
 ></A
 ><H3
 ><A
@@ -432,7 +503,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11216"
+NAME="AEN14362"
 ></A
 ><H3
 ><A
@@ -532,7 +603,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11240"
+NAME="AEN14386"
 ></A
 ><H3
 ><A
@@ -632,7 +703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11264"
+NAME="AEN14410"
 ></A
 ><H3
 ><A
@@ -732,7 +803,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11288"
+NAME="AEN14434"
 ></A
 ><H3
 ><A
@@ -832,7 +903,89 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11312"
+NAME="AEN14458"
+></A
+><H3
+><A
+NAME="XMLDEBUGDUMPDOCUMENTHEAD"
+></A
+>xmlDebugDumpDocumentHead ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDebugDumpDocumentHead        (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14478"
 ></A
 ><H3
 ><A
@@ -911,6 +1064,564 @@
 ></P
 ></DIV
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14498"
+></A
+><H3
+><A
+NAME="XMLDEBUGDUMPENTITIES"
+></A
+>xmlDebugDumpEntities ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDebugDumpEntities            (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14518"
+></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"
+>FILE</GTKDOCLINK
+> *output,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14538"
+></A
+><H3
+><A
+NAME="XMLSHELLREADLINEFUNC"
+></A
+>xmlShellReadlineFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>char*       (*xmlShellReadlineFunc)         (char *prompt);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>prompt</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14556"
+></A
+><H3
+><A
+NAME="XMLSHELLCTXT"
+></A
+>struct xmlShellCtxt</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlShellCtxt {
+    char *filename;
+    xmlDocPtr doc;
+    xmlNodePtr node;
+    xmlXPathContextPtr pctxt;
+    int loaded;
+    FILE *output;
+    xmlShellReadlineFunc input;
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14561"
+></A
+><H3
+><A
+NAME="XMLSHELLCTXTPTR"
+></A
+>xmlShellCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlShellCtxt *xmlShellCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14566"
+></A
+><H3
+><A
+NAME="XMLSHELLCMD"
+></A
+>xmlShellCmd ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         (*xmlShellCmd)                  (<A
+HREF="gnome-xml-debugxml.html#XMLSHELLCTXTPTR"
+>xmlShellCtxtPtr</A
+> ctxt,
+                                             char *arg,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node2);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>arg</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
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node2</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14599"
+></A
+><H3
+><A
+NAME="XMLSHELL"
+></A
+>xmlShell ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlShell                        (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             char *filename,
+                                             <A
+HREF="gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC"
+>xmlShellReadlineFunc</A
+> input,
+                                             <GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *output);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Implements the XML shell 
+This allow to load, validate, view, modify and save a document
+using a environment similar to a UNIX commandline.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the initial document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the output buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the line reading function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>output</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the output FILE*</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/doc/html/gnome-xml-encoding.html b/doc/html/gnome-xml-encoding.html
index 4326f3c..8634dd6 100644
--- a/doc/html/gnome-xml-encoding.html
+++ b/doc/html/gnome-xml-encoding.html
@@ -4,7 +4,7 @@
 >encoding</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-ENCODING"
->encoding</A
-></H1
+>encoding</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN10933"
+NAME="AEN13874"
 ></A
 ><H2
 >Name</H2
->encoding&nbsp;--&nbsp;</DIV
+>encoding &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN10936"
+NAME="AEN13877"
 ></A
 ><H2
 >Synopsis</H2
@@ -152,21 +146,33 @@
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGINPUTFUNC"
 >*xmlCharEncodingInputFunc</A
 >)     (unsigned char *out,
-                                             int outlen,
+                                             int *outlen,
                                              unsigned char *in,
                                              int *inlen);
 int         (<A
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
 >*xmlCharEncodingOutputFunc</A
 >)    (unsigned char *out,
-                                             int outlen,
+                                             int *outlen,
                                              unsigned char *in,
                                              int *inlen);
+struct      <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+>;
 typedef     <A
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
 >xmlCharEncodingHandlerPtr</A
 >;
 void        <A
+HREF="gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS"
+>xmlInitCharEncodingHandlers</A
+>     (void);
+void        <A
+HREF="gnome-xml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS"
+>xmlCleanupCharEncodingHandlers</A
+>  (void);
+void        <A
 HREF="gnome-xml-encoding.html#XMLREGISTERCHARENCODINGHANDLER"
 >xmlRegisterCharEncodingHandler</A
 >  (<A
@@ -174,6 +180,28 @@
 >xmlCharEncodingHandlerPtr</A
 > handler);
 <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> <A
+HREF="gnome-xml-encoding.html#XMLDETECTCHARENCODING"
+>xmlDetectCharEncoding</A
+>       (unsigned char *in,
+                                             int len);
+<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> <A
+HREF="gnome-xml-encoding.html#XMLPARSECHARENCODING"
+>xmlParseCharEncoding</A
+>        (const char *name);
+const char* <A
+HREF="gnome-xml-encoding.html#XMLGETCHARENCODINGNAME"
+>xmlGetCharEncodingName</A
+>          (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
+<A
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
 >xmlCharEncodingHandlerPtr</A
 > <A
@@ -192,25 +220,62 @@
 >xmlFindCharEncodingHandler</A
 >
                                             (const char *name);
-<A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> <A
-HREF="gnome-xml-encoding.html#XMLDETECTCHARENCODING"
->xmlDetectCharEncoding</A
->       (unsigned char *in,
-                                             int len);
-<A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> <A
-HREF="gnome-xml-encoding.html#XMLPARSECHARENCODING"
->xmlParseCharEncoding</A
->        (const char *name);
-void        <A
-HREF="gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS"
->xmlInitCharEncodingHandlers</A
->     (void);</PRE
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHECKUTF8"
+>xmlCheckUTF8</A
+>                    (unsigned char *utf);
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHARENCOUTFUNC"
+>xmlCharEncOutFunc</A
+>               (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHARENCINFUNC"
+>xmlCharEncInFunc</A
+>                (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHARENCFIRSTLINE"
+>xmlCharEncFirstLine</A
+>             (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHARENCCLOSEFUNC"
+>xmlCharEncCloseFunc</A
+>             (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -218,7 +283,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10955"
+NAME="AEN13915"
 ></A
 ><H2
 >Description</H2
@@ -228,14 +293,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10958"
+NAME="AEN13918"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10960"
+NAME="AEN13920"
 ></A
 ><H3
 ><A
@@ -285,7 +350,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10965"
+NAME="AEN13925"
 ></A
 ><H3
 ><A
@@ -302,7 +367,7 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >int         (*xmlCharEncodingInputFunc)     (unsigned char *out,
-                                             int outlen,
+                                             int *outlen,
                                              unsigned char *in,
                                              int *inlen);</PRE
 ></TD
@@ -412,7 +477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10995"
+NAME="AEN13955"
 ></A
 ><H3
 ><A
@@ -429,7 +494,7 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >int         (*xmlCharEncodingOutputFunc)    (unsigned char *out,
-                                             int outlen,
+                                             int *outlen,
                                              unsigned char *in,
                                              int *inlen);</PRE
 ></TD
@@ -539,20 +604,127 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11025"
+NAME="AEN13985"
 ></A
 ><H3
 ><A
-NAME="XMLCHARENCODINGHANDLERPTR"
+NAME="XMLCHARENCODINGHANDLER"
 ></A
->xmlCharEncodingHandlerPtr</H3
+>struct xmlCharEncodingHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlCharEncodingHandler {
+    char                       *name;
+    xmlCharEncodingInputFunc   input;
+    xmlCharEncodingOutputFunc  output;
+#ifdef LIBXML_ICONV_ENABLED
+    iconv_t                    iconv_in;
+    iconv_t                    iconv_out;
+#endif /* LIBXML_ICONV_ENABLED */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11029"
+NAME="AEN13990"
+></A
+><H3
+><A
+NAME="XMLCHARENCODINGHANDLERPTR"
+></A
+>xmlCharEncodingHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13995"
+></A
+><H3
+><A
+NAME="XMLINITCHARENCODINGHANDLERS"
+></A
+>xmlInitCharEncodingHandlers ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlInitCharEncodingHandlers     (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Initialize the char encoding support, it registers the default
+encoding supported.
+NOTE: while public, this function usually doesn't need to be called
+in normal processing.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14001"
+></A
+><H3
+><A
+NAME="XMLCLEANUPCHARENCODINGHANDLERS"
+></A
+>xmlCleanupCharEncodingHandlers ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCleanupCharEncodingHandlers  (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Cleanup the memory allocated for the char encoding support, it
+unregisters all the encoding handlers.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14007"
 ></A
 ><H3
 ><A
@@ -605,7 +777,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlCharEncodingHandlerPtr handler block</TD
 ></TR
 ></TABLE
 ><P
@@ -615,7 +787,269 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11045"
+NAME="AEN14023"
+></A
+><H3
+><A
+NAME="XMLDETECTCHARENCODING"
+></A
+>xmlDetectCharEncoding ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> xmlDetectCharEncoding       (unsigned char *in,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Guess the encoding of the entity using the first bytes of the entity content
+accordingly of the non-normative appendix F of the XML-1.0 recommendation.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to the first bytes of the XML entity, must be at least
+4 bytes long.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  pointer to the length of the buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>one of the XML_CHAR_ENCODING_... values.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14047"
+></A
+><H3
+><A
+NAME="XMLPARSECHARENCODING"
+></A
+>xmlParseCharEncoding ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> xmlParseCharEncoding        (const char *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Conpare the string to the known encoding schemes already known. Note
+that the comparison is case insensitive accordingly to the section
+[XML] 4.3.3 Character Encoding in Entities.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding name as parsed, in UTF-8 format (ASCII actually)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE
+if not recognized.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14067"
+></A
+><H3
+><A
+NAME="XMLGETCHARENCODINGNAME"
+></A
+>xmlGetCharEncodingName ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>const char* xmlGetCharEncodingName          (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>The "canonical" name for XML encoding.
+C.f. http://www.w3.org/TR/REC-xml<GTKDOCLINK
+HREF="CHARENCODING"
+>charencoding</GTKDOCLINK
+>
+Section 4.3.3  Character Encoding in Entities</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the canonical name for the given encoding</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14088"
 ></A
 ><H3
 ><A
@@ -672,7 +1106,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a string describing the char encoding.</TD
 ></TR
 ><TR
 ><TD
@@ -687,7 +1121,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the handler or NULL if not found</TD
 ></TR
 ></TABLE
 ><P
@@ -697,7 +1131,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11066"
+NAME="AEN14109"
 ></A
 ><H3
 ><A
@@ -774,13 +1208,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11085"
+NAME="AEN14128"
 ></A
 ><H3
 ><A
-NAME="XMLDETECTCHARENCODING"
+NAME="XMLCHECKUTF8"
 ></A
->xmlDetectCharEncoding ()</H3
+>xmlCheckUTF8 ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -790,17 +1224,27 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> xmlDetectCharEncoding       (unsigned char *in,
-                                             int len);</PRE
+>int         xmlCheckUTF8                    (unsigned char *utf);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Guess the encoding of the entity using the first bytes of the entity content
-accordingly of the non-normative appendix F of the XML-1.0 recommendation.</P
+>Checks <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> for being valid utf-8. <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> is assumed to be
+null-terminated. This function is not super-strict, as it will
+allow longer utf-8 sequences than necessary. Note that Java is
+capable of producing these sequences if provoked. Also note, this
+routine checks for the 4-byte maxiumum size, but does not check for
+0x10ffff maximum value.</P
 ><P
 ></P
 ><DIV
@@ -822,6 +1266,141 @@
 ><TT
 CLASS="PARAMETER"
 ><I
+>utf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> Pointer to putative utf-8 encoded string.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> true if <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> is valid.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14150"
+></A
+><H3
+><A
+NAME="XMLCHARENCOUTFUNC"
+></A
+>xmlCharEncOutFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlCharEncOutFunc               (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Generic front-end for the encoding handler output function
+a first call with <TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+> == NULL has to be made firs to initiate the 
+output in case of non-stateless encoding needing to initiate their
+state or the output (like the BOM in UTF16).
+In case of UTF8 sequence conversion errors for the given encoder,
+the content will be automatically remapped to a CharRef sequence.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>	char enconding transformation data structure</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlBuffer for the output.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
 >in</I
 ></TT
 >&nbsp;:</TD
@@ -829,24 +1408,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
+>  an xmlBuffer for the input</TD
 ></TR
 ><TR
 ><TD
@@ -861,7 +1423,10 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of byte written if success, or 
+-1 general error
+-2 if the transcoding fails (for *in is not valid utf8 string or
+the result of transformation can't fit into the encoding we want), or</TD
 ></TR
 ></TABLE
 ><P
@@ -871,13 +1436,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11109"
+NAME="AEN14181"
 ></A
 ><H3
 ><A
-NAME="XMLPARSECHARENCODING"
+NAME="XMLCHARENCINFUNC"
 ></A
->xmlParseCharEncoding ()</H3
+>xmlCharEncInFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -887,17 +1452,23 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> xmlParseCharEncoding        (const char *name);</PRE
+>int         xmlCharEncInFunc                (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Conpare the string to the known encoding schemes already known. Note
-that the comparison is case insensitive accordingly to the section
-[XML] 4.3.3 Character Encoding in Entities.</P
+>Generic front-end for the encoding handler input function</P
 ><P
 ></P
 ><DIV
@@ -919,14 +1490,48 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->name</I
+>handler</I
 ></TT
 >&nbsp;:</TD
 ><TD
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>	char enconding transformation data structure</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlBuffer for the output.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlBuffer for the input</TD
 ></TR
 ><TR
 ><TD
@@ -941,7 +1546,10 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of byte written if success, or 
+-1 general error
+-2 if the transcoding fails (for *in is not valid utf8 string or
+the result of transformation can't fit into the encoding we want), or</TD
 ></TR
 ></TABLE
 ><P
@@ -951,13 +1559,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11129"
+NAME="AEN14211"
 ></A
 ><H3
 ><A
-NAME="XMLINITCHARENCODINGHANDLERS"
+NAME="XMLCHARENCFIRSTLINE"
 ></A
->xmlInitCharEncodingHandlers ()</H3
+>xmlCharEncFirstLine ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -967,17 +1575,188 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlInitCharEncodingHandlers     (void);</PRE
+>int         xmlCharEncFirstLine             (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> in);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Initialize the char encoding support, it registers the default
-encoding supported.
-NOTE: while public theis function usually don't need to be called
-in normal processing.</P
+>Front-end for the encoding handler input function, but handle only
+the very first line, i.e. limit itself to 45 chars.</P
 ><P
 ></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>	char enconding transformation data structure</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlBuffer for the output.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlBuffer for the input</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 of byte written if success, or 
+-1 general error
+-2 if the transcoding fails (for *in is not valid utf8 string or
+the result of transformation can't fit into the encoding we want), or</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14241"
+></A
+><H3
+><A
+NAME="XMLCHARENCCLOSEFUNC"
+></A
+>xmlCharEncCloseFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlCharEncCloseFunc             (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
+>xmlCharEncodingHandler</A
+> *handler);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Generic front-end for hencoding handler close function</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>	char enconding transformation data structure</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if success, or -1 in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
 ></DIV
 ></DIV
 ><DIV
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index a7f1c4e..e580459 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -4,7 +4,7 @@
 >entities</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-ENTITIES"
->entities</A
-></H1
+>entities</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5069"
+NAME="AEN6387"
 ></A
 ><H2
 >Name</H2
->entities&nbsp;--&nbsp;</DIV
+>entities &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5072"
+NAME="AEN6390"
 ></A
 ><H2
 >Synopsis</H2
@@ -144,30 +138,14 @@
 CLASS="SYNOPSIS"
 >&#13;
 
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-GENERAL-ENTITY"
->XML_INTERNAL_GENERAL_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-PARSED-ENTITY"
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PARAMETER-ENTITY"
->XML_INTERNAL_PARAMETER_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-PARAMETER-ENTITY"
->XML_EXTERNAL_PARAMETER_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PREDEFINED-ENTITY"
->XML_INTERNAL_PREDEFINED_ENTITY</A
->
+enum        <A
+HREF="gnome-xml-entities.html#XMLENTITYTYPE"
+>xmlEntityType</A
+>;
+struct      <A
+HREF="gnome-xml-entities.html#XMLENTITY"
+>xmlEntity</A
+>;
 typedef     <A
 HREF="gnome-xml-entities.html#XMLENTITYPTR"
 >xmlEntityPtr</A
@@ -176,6 +154,10 @@
 HREF="gnome-xml-entities.html#XML-MIN-ENTITIES-TABLE"
 >XML_MIN_ENTITIES_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-entities.html#XMLENTITIESTABLE"
+>xmlEntitiesTable</A
+>;
 typedef     <A
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
@@ -315,6 +297,20 @@
 >xmlChar</A
 > *input);
 <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-entities.html#XMLENCODESPECIALCHARS"
+>xmlEncodeSpecialChars</A
+>           (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *input);
+<A
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
 > <A
@@ -348,7 +344,33 @@
                                              <A
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
-> table);</PRE
+> table);
+void        <A
+HREF="gnome-xml-entities.html#XMLDUMPENTITYDECL"
+>xmlDumpEntityDecl</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent);
+void        <A
+HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
+>xmlCleanupPredefinedEntities</A
+>    (void);
+int         <A
+HREF="gnome-xml-entities.html#XMLENTITYADDREFERENCE"
+>xmlEntityAddReference</A
+>           (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -356,7 +378,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5131"
+NAME="AEN6457"
 ></A
 ><H2
 >Description</H2
@@ -366,20 +388,20 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5134"
+NAME="AEN6460"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5136"
+NAME="AEN6462"
 ></A
 ><H3
 ><A
-NAME="XML-INTERNAL-GENERAL-ENTITY"
+NAME="XMLENTITYTYPE"
 ></A
->XML_INTERNAL_GENERAL_ENTITY</H3
+>enum xmlEntityType</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -389,7 +411,14 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_GENERAL_ENTITY		1</PRE
+>typedef enum {
+    XML_INTERNAL_GENERAL_ENTITY = 1,
+    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
+    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
+    XML_INTERNAL_PARAMETER_ENTITY = 4,
+    XML_EXTERNAL_PARAMETER_ENTITY = 5,
+    XML_INTERNAL_PREDEFINED_ENTITY = 6
+} xmlEntityType;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -399,13 +428,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5141"
+NAME="AEN6467"
 ></A
 ><H3
 ><A
-NAME="XML-EXTERNAL-GENERAL-PARSED-ENTITY"
+NAME="XMLENTITY"
 ></A
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</H3
+>struct xmlEntity</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -415,7 +444,34 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_PARSED_ENTITY	2</PRE
+>struct xmlEntity {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
+    const xmlChar          *name;	/* Attribute name */
+    struct _xmlNode    *children;	/* NULL */
+    struct _xmlNode        *last;	/* NULL */
+    struct _xmlDtd       *parent;	/* -&gt; DTD */
+    struct _xmlNode        *next;	/* next sibling link  */
+    struct _xmlNode        *prev;	/* previous sibling link  */
+    struct _xmlDoc          *doc;       /* the containing document */
+
+    xmlChar                *orig;	/* content without ref substitution */
+    xmlChar             *content;	/* content or ndata if unparsed */
+    int                   length;	/* the content length */
+    xmlEntityType          etype;	/* The entity type */
+    const xmlChar    *ExternalID;	/* External identifier for PUBLIC */
+    const xmlChar      *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */
+
+#ifdef WITH_EXTRA_ENT_DETECT
+    /* Referenced entities name stack */
+    xmlChar           *ent;             /* Current parsed Node */
+    int                entNr;           /* Depth of the parsing stack */
+    int                entMax;          /* Max depth of the parsing stack */
+    xmlChar *         *entTab;          /* array of nodes */
+#endif
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -425,124 +481,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5146"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
-></A
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY	3</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5151"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PARAMETER-ENTITY"
-></A
->XML_INTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PARAMETER_ENTITY		4</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5156"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-PARAMETER-ENTITY"
-></A
->XML_EXTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_PARAMETER_ENTITY		5</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5161"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PREDEFINED-ENTITY"
-></A
->XML_INTERNAL_PREDEFINED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PREDEFINED_ENTITY		6</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5166"
+NAME="AEN6472"
 ></A
 ><H3
 ><A
 NAME="XMLENTITYPTR"
 ></A
 >xmlEntityPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlEntity *xmlEntityPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5170"
+NAME="AEN6477"
 ></A
 ><H3
 ><A
@@ -558,7 +523,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ENTITIES_TABLE</PRE
+>#define XML_MIN_ENTITIES_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -568,20 +533,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5175"
+NAME="AEN6482"
 ></A
 ><H3
 ><A
-NAME="XMLENTITIESTABLEPTR"
+NAME="XMLENTITIESTABLE"
 ></A
->xmlEntitiesTablePtr</H3
+>struct xmlEntitiesTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlEntitiesTable {
+    int nb_entities;		/* number of elements stored */
+    int max_entities;		/* maximum number of elements */
+    xmlEntityPtr *table;	/* the table of entities */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5179"
+NAME="AEN6487"
+></A
+><H3
+><A
+NAME="XMLENTITIESTABLEPTR"
+></A
+>xmlEntitiesTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6492"
 ></A
 ><H3
 ><A
@@ -654,7 +662,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -671,7 +679,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -688,7 +696,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity type XML_xxx_yyy_ENTITY</TD
 ></TR
 ><TR
 ><TD
@@ -705,7 +713,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity external ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -722,7 +730,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity system ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -739,7 +747,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity content</TD
 ></TR
 ><TR
 ><TD
@@ -754,7 +762,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the entity or NULL in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -764,7 +772,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5224"
+NAME="AEN6537"
 ></A
 ><H3
 ><A
@@ -808,7 +816,7 @@
 ></TR
 ></TABLE
 ><P
->Register a new entity for this document DTD.</P
+>Register a new entity for this document DTD external subset.</P
 ><P
 ></P
 ><DIV
@@ -837,7 +845,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -854,7 +862,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -871,7 +879,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity type XML_xxx_yyy_ENTITY</TD
 ></TR
 ><TR
 ><TD
@@ -888,7 +896,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity external ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -905,7 +913,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity system ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -922,7 +930,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity content</TD
 ></TR
 ><TR
 ><TD
@@ -937,7 +945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the entity or NULL in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -947,7 +955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5269"
+NAME="AEN6582"
 ></A
 ><H3
 ><A
@@ -1003,7 +1011,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1018,7 +1026,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -1028,7 +1036,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5290"
+NAME="AEN6603"
 ></A
 ><H3
 ><A
@@ -1090,7 +1098,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1107,7 +1115,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1122,7 +1130,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1132,7 +1140,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5316"
+NAME="AEN6629"
 ></A
 ><H3
 ><A
@@ -1193,7 +1201,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1210,7 +1218,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1225,7 +1233,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1235,7 +1243,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5342"
+NAME="AEN6655"
 ></A
 ><H3
 ><A
@@ -1296,7 +1304,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1313,7 +1321,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1328,7 +1336,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1338,7 +1346,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5368"
+NAME="AEN6681"
 ></A
 ><H3
 ><A
@@ -1405,7 +1413,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document containing the string</TD
 ></TR
 ><TR
 ><TD
@@ -1422,7 +1430,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A string to convert to XML.</TD
 ></TR
 ><TR
 ><TD
@@ -1437,7 +1445,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done.</TD
 ></TR
 ></TABLE
 ><P
@@ -1447,7 +1455,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5396"
+NAME="AEN6709"
 ></A
 ><H3
 ><A
@@ -1513,7 +1521,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document containing the string</TD
 ></TR
 ><TR
 ><TD
@@ -1530,7 +1538,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A string to convert to XML.</TD
 ></TR
 ><TR
 ><TD
@@ -1545,7 +1553,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done.</TD
 ></TR
 ></TABLE
 ><P
@@ -1555,7 +1563,110 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5423"
+NAME="AEN6736"
+></A
+><H3
+><A
+NAME="XMLENCODESPECIALCHARS"
+></A
+>xmlEncodeSpecialChars ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlEncodeSpecialChars           (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *input);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Do a global encoding of a string, replacing the predefined entities
+this routine is reentrant, and result must be deallocated.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document containing the string</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  A string to convert to XML.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>A newly allocated string with the substitution done.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6762"
 ></A
 ><H3
 ><A
@@ -1606,7 +1717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEntitiesTablePtr just created or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1616,7 +1727,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5439"
+NAME="AEN6778"
 ></A
 ><H3
 ><A
@@ -1672,7 +1783,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
 ></TR
 ><TR
 ><TD
@@ -1687,7 +1798,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlEntitiesTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1697,7 +1808,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5460"
+NAME="AEN6799"
 ></A
 ><H3
 ><A
@@ -1750,7 +1861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
 ></TR
 ></TABLE
 ><P
@@ -1760,7 +1871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5476"
+NAME="AEN6815"
 ></A
 ><H3
 ><A
@@ -1817,7 +1928,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An XML buffer.</TD
 ></TR
 ><TR
 ><TD
@@ -1834,7 +1945,221 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6836"
+></A
+><H3
+><A
+NAME="XMLDUMPENTITYDECL"
+></A
+>xmlDumpEntityDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpEntityDecl               (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the entity table as an XML DTD definition</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An XML buffer.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ent</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An entity table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6857"
+></A
+><H3
+><A
+NAME="XMLCLEANUPPREDEFINEDENTITIES"
+></A
+>xmlCleanupPredefinedEntities ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCleanupPredefinedEntities    (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Cleanup up the predefined entities table.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6863"
+></A
+><H3
+><A
+NAME="XMLENTITYADDREFERENCE"
+></A
+>xmlEntityAddReference ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlEntityAddReference           (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to register reuse of an existing entity from a (new) one
+Used to keep track of references and detect cycles (well formedness 
+errors !).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ent</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an existing entity</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the entity name it's referencing</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> 0 if Okay, -1 in case of general error, 1 in case of loop 
+detection.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-htmlparser.html b/doc/html/gnome-xml-htmlparser.html
index 77f49b9..351920a 100644
--- a/doc/html/gnome-xml-htmlparser.html
+++ b/doc/html/gnome-xml-htmlparser.html
@@ -4,7 +4,7 @@
 >HTMLparser</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-HTMLPARSER"
->HTMLparser</A
-></H1
+>HTMLparser</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7286"
+NAME="AEN9061"
 ></A
 ><H2
 >Name</H2
->HTMLparser&nbsp;--&nbsp;</DIV
+>HTMLparser &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7289"
+NAME="AEN9064"
 ></A
 ><H2
 >Synopsis</H2
@@ -180,9 +174,25 @@
 HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
 >htmlNodePtr</A
 >;
-<GTKDOCLINK
-HREF="HTMLELEMDESCPTR"
->htmlElemDescPtr</GTKDOCLINK
+struct      <A
+HREF="gnome-xml-htmlparser.html#HTMLELEMDESC"
+>htmlElemDesc</A
+>;
+typedef     <A
+HREF="gnome-xml-htmlparser.html#HTMLELEMDESCPTR"
+>htmlElemDescPtr</A
+>;
+struct      <A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESC"
+>htmlEntityDesc</A
+>;
+typedef     <A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESCPTR"
+>htmlEntityDescPtr</A
+>;
+<A
+HREF="gnome-xml-htmlparser.html#HTMLELEMDESCPTR"
+>htmlElemDescPtr</A
 > <A
 HREF="gnome-xml-htmlparser.html#HTMLTAGLOOKUP"
 >htmlTagLookup</A
@@ -190,9 +200,9 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *tag);
-<GTKDOCLINK
-HREF="HTMLENTITYDESCPTR"
->htmlEntityDescPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESCPTR"
+>htmlEntityDescPtr</A
 > <A
 HREF="gnome-xml-htmlparser.html#HTMLENTITYLOOKUP"
 >htmlEntityLookup</A
@@ -200,9 +210,35 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name);
-<GTKDOCLINK
-HREF="HTMLENTITYDESCPTR"
->htmlEntityDescPtr</GTKDOCLINK
+int         <A
+HREF="gnome-xml-htmlparser.html#HTMLISAUTOCLOSED"
+>htmlIsAutoClosed</A
+>                (<A
+HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
+>htmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
+>htmlNodePtr</A
+> elem);
+int         <A
+HREF="gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG"
+>htmlAutoCloseTag</A
+>                (<A
+HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
+>htmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             <A
+HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
+>htmlNodePtr</A
+> elem);
+<A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESCPTR"
+>htmlEntityDescPtr</A
 > <A
 HREF="gnome-xml-htmlparser.html#HTMLPARSEENTITYREF"
 >htmlParseEntityRef</A
@@ -275,7 +311,42 @@
 HREF="gnome-xml-htmlparser.html#HTMLPARSEFILE"
 >htmlParseFile</A
 >                   (const char *filename,
-                                             const char *encoding);</PRE
+                                             const char *encoding);
+void        <A
+HREF="gnome-xml-htmlparser.html#HTMLFREEPARSERCTXT"
+>htmlFreeParserCtxt</A
+>              (<A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> ctxt);
+<A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT"
+>htmlCreatePushParserCtxt</A
+>  (<A
+HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
+>htmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
+int         <A
+HREF="gnome-xml-htmlparser.html#HTMLPARSECHUNK"
+>htmlParseChunk</A
+>                  (<A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -283,7 +354,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7327"
+NAME="AEN9121"
 ></A
 ><H2
 >Description</H2
@@ -293,131 +364,364 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7330"
+NAME="AEN9124"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7332"
+NAME="AEN9126"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXT"
 ></A
 >htmlParserCtxt</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxt htmlParserCtxt;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7336"
+NAME="AEN9131"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXTPTR"
 ></A
 >htmlParserCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxtPtr htmlParserCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7340"
+NAME="AEN9136"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERNODEINFO"
 ></A
 >htmlParserNodeInfo</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserNodeInfo htmlParserNodeInfo;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7344"
+NAME="AEN9141"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLER"
 ></A
 >htmlSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandler htmlSAXHandler;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7348"
+NAME="AEN9146"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLERPTR"
 ></A
 >htmlSAXHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7352"
+NAME="AEN9151"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUT"
 ></A
 >htmlParserInput</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInput htmlParserInput;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7356"
+NAME="AEN9156"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUTPTR"
 ></A
 >htmlParserInputPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInputPtr htmlParserInputPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7360"
+NAME="AEN9161"
 ></A
 ><H3
 ><A
 NAME="HTMLDOCPTR"
 ></A
 >htmlDocPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlDocPtr htmlDocPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7364"
+NAME="AEN9166"
 ></A
 ><H3
 ><A
 NAME="HTMLNODEPTR"
 ></A
 >htmlNodePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNodePtr htmlNodePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7368"
+NAME="AEN9171"
+></A
+><H3
+><A
+NAME="HTMLELEMDESC"
+></A
+>struct htmlElemDesc</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct htmlElemDesc {
+    const char *name;	/* The tag name */
+    int startTag;       /* Whether the start tag can be implied */
+    int endTag;         /* Whether the end tag can be implied */
+    int empty;          /* Is this an empty element ? */
+    int depr;           /* Is this a deprecated element ? */
+    int dtd;            /* 1: only in Loose DTD, 2: only Frameset one */
+    const char *desc;   /* the description */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9176"
+></A
+><H3
+><A
+NAME="HTMLELEMDESCPTR"
+></A
+>htmlElemDescPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef htmlElemDesc *htmlElemDescPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9181"
+></A
+><H3
+><A
+NAME="HTMLENTITYDESC"
+></A
+>struct htmlEntityDesc</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct htmlEntityDesc {
+    int value;		/* the UNICODE value for the character */
+    const char *name;	/* The entity name */
+    const char *desc;   /* the description */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9186"
+></A
+><H3
+><A
+NAME="HTMLENTITYDESCPTR"
+></A
+>htmlEntityDescPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef htmlEntityDesc *htmlEntityDescPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9191"
 ></A
 ><H3
 ><A
@@ -433,9 +737,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="HTMLELEMDESCPTR"
->htmlElemDescPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-htmlparser.html#HTMLELEMDESCPTR"
+>htmlElemDescPtr</A
 > htmlTagLookup               (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
@@ -473,7 +777,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The tag name</TD
 ></TR
 ><TR
 ><TD
@@ -488,7 +792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the related htmlElemDescPtr or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -498,7 +802,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7389"
+NAME="AEN9212"
 ></A
 ><H3
 ><A
@@ -514,9 +818,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="HTMLENTITYDESCPTR"
->htmlEntityDescPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESCPTR"
+>htmlEntityDescPtr</A
 > htmlEntityLookup          (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
@@ -556,7 +860,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -571,7 +875,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
 ></TR
 ></TABLE
 ><P
@@ -581,7 +885,231 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7411"
+NAME="AEN9234"
+></A
+><H3
+><A
+NAME="HTMLISAUTOCLOSED"
+></A
+>htmlIsAutoClosed ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         htmlIsAutoClosed                (<A
+HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
+>htmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
+>htmlNodePtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>The HTmL DtD allows a tag to implicitely close other tags.
+The list is kept in htmlStartClose array. This function checks
+if a tag is autoclosed by one of it's child</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the HTML document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the HTML element</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if autoclosed, 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9259"
+></A
+><H3
+><A
+NAME="HTMLAUTOCLOSETAG"
+></A
+>htmlAutoCloseTag ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         htmlAutoCloseTag                (<A
+HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
+>htmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             <A
+HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
+>htmlNodePtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>The HTmL DtD allows a tag to implicitely close other tags.
+The list is kept in htmlStartClose array. This function checks
+if the element or one of it's children would autoclose the
+given tag.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the HTML document</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"
+>  The tag name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the HTML element</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if autoclose, 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9289"
 ></A
 ><H3
 ><A
@@ -597,9 +1125,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="HTMLENTITYDESCPTR"
->htmlEntityDescPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-htmlparser.html#HTMLENTITYDESCPTR"
+>htmlEntityDescPtr</A
 > htmlParseEntityRef        (<A
 HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
 >htmlParserCtxtPtr</A
@@ -643,7 +1171,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -660,7 +1188,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  location to store the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -675,7 +1203,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the associated htmlEntityDescPtr if found, or NULL otherwise,
+if non-NULL *str will have to be freed by the caller.</TD
 ></TR
 ></TABLE
 ><P
@@ -685,7 +1214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7438"
+NAME="AEN9316"
 ></A
 ><H3
 ><A
@@ -744,7 +1273,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -759,7 +1288,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the value parsed (as an int)</TD
 ></TR
 ></TABLE
 ><P
@@ -769,7 +1298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7460"
+NAME="AEN9338"
 ></A
 ><H3
 ><A
@@ -826,7 +1355,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -836,7 +1365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7478"
+NAME="AEN9356"
 ></A
 ><H3
 ><A
@@ -900,7 +1429,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of xmlChar</TD
 ></TR
 ><TR
 ><TD
@@ -917,7 +1446,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -934,7 +1463,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -951,7 +1480,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> if using SAX, this pointer will be provided on callbacks. </TD
 ></TR
 ><TR
 ><TD
@@ -966,7 +1495,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -976,7 +1505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7512"
+NAME="AEN9390"
 ></A
 ><H3
 ><A
@@ -1033,7 +1562,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of xmlChar</TD
 ></TR
 ><TR
 ><TD
@@ -1050,7 +1579,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1065,7 +1594,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -1075,7 +1604,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7537"
+NAME="AEN9415"
 ></A
 ><H3
 ><A
@@ -1137,7 +1666,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1154,7 +1683,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1171,7 +1700,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -1188,7 +1717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> if using SAX, this pointer will be provided on callbacks. </TD
 ></TR
 ><TR
 ><TD
@@ -1203,7 +1732,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -1213,7 +1742,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7570"
+NAME="AEN9448"
 ></A
 ><H3
 ><A
@@ -1268,7 +1797,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1285,7 +1814,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1300,7 +1829,390 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9472"
+></A
+><H3
+><A
+NAME="HTMLFREEPARSERCTXT"
+></A
+>htmlFreeParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        htmlFreeParserCtxt              (<A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an HTML parser context</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9488"
+></A
+><H3
+><A
+NAME="HTMLCREATEPUSHPARSERCTXT"
+></A
+>htmlCreatePushParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> htmlCreatePushParserCtxt  (<A
+HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
+>htmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for using the HTML parser in push mode
+To allow content encoding detection, <TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+> should be &gt;= 4
+The value of <TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+> is used for fetching external entities
+and error/warning reports.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a SAX handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>chunk</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to an array of chars</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  number of chars in the array</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an optional file name or URI</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an optional encoding</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9532"
+></A
+><H3
+><A
+NAME="HTMLPARSECHUNK"
+></A
+>htmlParseChunk ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         htmlParseChunk                  (<A
+HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
+>htmlParserCtxtPtr</A
+> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Parse a Chunk of memory</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>chunk</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an char array</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size in byte of the chunk</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>terminate</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  last chunk indicator</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>zero if no error, the xmlParserErrors otherwise.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-htmltree.html b/doc/html/gnome-xml-htmltree.html
index 0b9746e..a7c803e 100644
--- a/doc/html/gnome-xml-htmltree.html
+++ b/doc/html/gnome-xml-htmltree.html
@@ -4,7 +4,7 @@
 >HTMLtree</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-HTMLTREE"
->HTMLtree</A
-></H1
+>HTMLtree</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7599"
+NAME="AEN9569"
 ></A
 ><H2
 >Name</H2
->HTMLtree&nbsp;--&nbsp;</DIV
+>HTMLtree &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7602"
+NAME="AEN9572"
 ></A
 ><H2
 >Synopsis</H2
@@ -186,6 +180,36 @@
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
+> cur);
+void        <A
+HREF="gnome-xml-htmltree.html#HTMLNODEDUMP"
+>htmlNodeDump</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
+void        <A
+HREF="gnome-xml-htmltree.html#HTMLNODEDUMPFILE"
+>htmlNodeDumpFile</A
+>                (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
 > cur);</PRE
 ></TD
 ></TR
@@ -194,7 +218,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7616"
+NAME="AEN9594"
 ></A
 ><H2
 >Description</H2
@@ -204,14 +228,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7619"
+NAME="AEN9597"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7621"
+NAME="AEN9599"
 ></A
 ><H3
 ><A
@@ -227,7 +251,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_TEXT_NODE</PRE
+>#define HTML_TEXT_NODE		XML_TEXT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -237,7 +261,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7626"
+NAME="AEN9604"
 ></A
 ><H3
 ><A
@@ -253,7 +277,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_ENTITY_REF_NODE</PRE
+>#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -263,7 +287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7631"
+NAME="AEN9609"
 ></A
 ><H3
 ><A
@@ -279,7 +303,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_COMMENT_NODE</PRE
+>#define HTML_COMMENT_NODE	XML_COMMENT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -289,7 +313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7636"
+NAME="AEN9614"
 ></A
 ><H3
 ><A
@@ -348,7 +372,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -365,7 +389,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory pointer</TD
 ></TR
 ><TR
 ><TD
@@ -382,7 +406,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory lenght</TD
 ></TR
 ></TABLE
 ><P
@@ -392,7 +416,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7661"
+NAME="AEN9639"
 ></A
 ><H3
 ><A
@@ -449,7 +473,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE*</TD
 ></TR
 ><TR
 ><TD
@@ -466,7 +490,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TABLE
 ><P
@@ -476,7 +500,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7682"
+NAME="AEN9660"
 ></A
 ><H3
 ><A
@@ -530,7 +554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -547,7 +571,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -562,7 +586,217 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the number of byte written or -1 in case of failure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9684"
+></A
+><H3
+><A
+NAME="HTMLNODEDUMP"
+></A
+>htmlNodeDump ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        htmlNodeDump                    (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an HTML node, recursive behaviour,children are printed too.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the HTML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</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"
+>  the current node</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9710"
+></A
+><H3
+><A
+NAME="HTMLNODEDUMPFILE"
+></A
+>htmlNodeDumpFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        htmlNodeDumpFile                (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *out,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an HTML node, recursive behaviour,children are printed too.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the FILE pointer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</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"
+>  the current node</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-nanoftp.html b/doc/html/gnome-xml-nanoftp.html
index 16e5864..95c1468 100644
--- a/doc/html/gnome-xml-nanoftp.html
+++ b/doc/html/gnome-xml-nanoftp.html
@@ -4,7 +4,7 @@
 >nanoftp</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-NANOFTP"
->nanoftp</A
-></H1
+>nanoftp</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8195"
+NAME="AEN10384"
 ></A
 ><H2
 >Name</H2
->nanoftp&nbsp;--&nbsp;</DIV
+>nanoftp &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8198"
+NAME="AEN10387"
 ></A
 ><H2
 >Synopsis</H2
@@ -281,7 +275,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8227"
+NAME="AEN10416"
 ></A
 ><H2
 >Description</H2
@@ -291,14 +285,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8230"
+NAME="AEN10419"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8232"
+NAME="AEN10421"
 ></A
 ><H3
 ><A
@@ -557,7 +551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8291"
+NAME="AEN10480"
 ></A
 ><H3
 ><A
@@ -651,7 +645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8313"
+NAME="AEN10502"
 ></A
 ><H3
 ><A
@@ -681,7 +675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8319"
+NAME="AEN10508"
 ></A
 ><H3
 ><A
@@ -707,7 +701,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8324"
+NAME="AEN10513"
 ></A
 ><H3
 ><A
@@ -757,7 +751,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The URL used to initialize the context</TD
 ></TR
 ></TABLE
 ><P
@@ -767,7 +761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8339"
+NAME="AEN10528"
 ></A
 ><H3
 ><A
@@ -817,7 +811,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ></TABLE
 ><P
@@ -827,7 +821,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8354"
+NAME="AEN10543"
 ></A
 ><H3
 ><A
@@ -878,7 +872,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP server name</TD
 ></TR
 ><TR
 ><TD
@@ -895,7 +889,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the port (use 21 if 0)</TD
 ></TR
 ></TABLE
 ><P
@@ -905,7 +899,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8373"
+NAME="AEN10562"
 ></A
 ><H3
 ><A
@@ -955,7 +949,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the URL to the resource</TD
 ></TR
 ></TABLE
 ><P
@@ -965,7 +959,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8388"
+NAME="AEN10577"
 ></A
 ><H3
 ><A
@@ -1015,7 +1009,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1030,7 +1024,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 in case of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -1040,7 +1034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8407"
+NAME="AEN10596"
 ></A
 ><H3
 ><A
@@ -1090,7 +1084,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1105,7 +1099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 incase of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -1115,7 +1109,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8426"
+NAME="AEN10615"
 ></A
 ><H3
 ><A
@@ -1165,7 +1159,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1180,7 +1174,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 in case of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -1190,7 +1184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8445"
+NAME="AEN10634"
 ></A
 ><H3
 ><A
@@ -1243,7 +1237,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The proxy URL used to initialize the proxy context</TD
 ></TR
 ></TABLE
 ><P
@@ -1253,7 +1247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8460"
+NAME="AEN10649"
 ></A
 ><H3
 ><A
@@ -1309,7 +1303,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the proxy host name</TD
 ></TR
 ><TR
 ><TD
@@ -1326,7 +1320,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the proxy port</TD
 ></TR
 ><TR
 ><TD
@@ -1343,7 +1337,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the proxy user name</TD
 ></TR
 ><TR
 ><TD
@@ -1360,7 +1354,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the proxy password</TD
 ></TR
 ><TR
 ><TD
@@ -1377,7 +1371,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the type of proxy 1 for using SITE, 2 for USER a<TT
+CLASS="PARAMETER"
+><I
+>b</I
+></TT
+></TD
 ></TR
 ></TABLE
 ><P
@@ -1387,7 +1386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8491"
+NAME="AEN10681"
 ></A
 ><H3
 ><A
@@ -1442,7 +1441,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1459,7 +1458,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The URL used to update the context</TD
 ></TR
 ><TR
 ><TD
@@ -1474,7 +1473,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 if Ok, -1 in case of error (other host).</TD
 ></TR
 ></TABLE
 ><P
@@ -1484,7 +1483,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8514"
+NAME="AEN10704"
 ></A
 ><H3
 ><A
@@ -1534,7 +1533,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1549,7 +1548,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the code number</TD
 ></TR
 ></TABLE
 ><P
@@ -1559,7 +1558,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8533"
+NAME="AEN10723"
 ></A
 ><H3
 ><A
@@ -1609,7 +1608,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1624,7 +1623,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the code number, or 0</TD
 ></TR
 ></TABLE
 ><P
@@ -1634,7 +1633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8552"
+NAME="AEN10742"
 ></A
 ><H3
 ><A
@@ -1725,7 +1724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8574"
+NAME="AEN10764"
 ></A
 ><H3
 ><A
@@ -1776,7 +1775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1791,7 +1790,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 incase of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -1801,7 +1800,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8593"
+NAME="AEN10783"
 ></A
 ><H3
 ><A
@@ -1851,7 +1850,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1866,7 +1865,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 incase of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -1876,7 +1875,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8612"
+NAME="AEN10802"
 ></A
 ><H3
 ><A
@@ -1933,7 +1932,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -1950,7 +1949,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the user callback</TD
 ></TR
 ><TR
 ><TD
@@ -1967,7 +1966,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the user callback data</TD
 ></TR
 ><TR
 ><TD
@@ -1984,7 +1983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  optional files to list</TD
 ></TR
 ><TR
 ><TD
@@ -1999,7 +1998,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 incase of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -2009,7 +2008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8644"
+NAME="AEN10834"
 ></A
 ><H3
 ><A
@@ -2060,7 +2059,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -2077,7 +2076,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the file to retrieve (or NULL if path is in context).</TD
 ></TR
 ><TR
 ><TD
@@ -2092,7 +2091,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the socket for the data connection, or &lt;0 in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -2102,7 +2101,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8667"
+NAME="AEN10857"
 ></A
 ><H3
 ><A
@@ -2159,7 +2158,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -2176,7 +2175,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the user callback</TD
 ></TR
 ><TR
 ><TD
@@ -2193,7 +2192,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the user callback data</TD
 ></TR
 ><TR
 ><TD
@@ -2210,7 +2209,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the file to retrieve</TD
 ></TR
 ><TR
 ><TD
@@ -2225,7 +2224,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>-1 incase of error, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -2235,7 +2234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8699"
+NAME="AEN10889"
 ></A
 ><H3
 ><A
@@ -2298,7 +2297,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FTP context</TD
 ></TR
 ><TR
 ><TD
@@ -2315,7 +2314,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a buffer</TD
 ></TR
 ><TR
 ><TD
@@ -2332,7 +2331,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer length</TD
 ></TR
 ><TR
 ><TD
@@ -2347,7 +2346,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of byte read. 0 is an indication of an end of connection.
+-1 indicates a parameter error.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-nanohttp.html b/doc/html/gnome-xml-nanohttp.html
index 717c987..999535f 100644
--- a/doc/html/gnome-xml-nanohttp.html
+++ b/doc/html/gnome-xml-nanohttp.html
@@ -4,7 +4,7 @@
 >nanohttp</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-NANOHTTP"
->nanohttp</A
-></H1
+>nanohttp</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7979"
+NAME="AEN10168"
 ></A
 ><H2
 >Name</H2
->nanohttp&nbsp;--&nbsp;</DIV
+>nanohttp &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7982"
+NAME="AEN10171"
 ></A
 ><H2
 >Synopsis</H2
@@ -201,7 +195,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7995"
+NAME="AEN10184"
 ></A
 ><H2
 >Description</H2
@@ -211,14 +205,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7998"
+NAME="AEN10187"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8000"
+NAME="AEN10189"
 ></A
 ><H3
 ><A
@@ -247,7 +241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8006"
+NAME="AEN10195"
 ></A
 ><H3
 ><A
@@ -273,7 +267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8011"
+NAME="AEN10200"
 ></A
 ><H3
 ><A
@@ -336,7 +330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8026"
+NAME="AEN10215"
 ></A
 ><H3
 ><A
@@ -450,7 +444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8053"
+NAME="AEN10242"
 ></A
 ><H3
 ><A
@@ -589,7 +583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8085"
+NAME="AEN10274"
 ></A
 ><H3
 ><A
@@ -669,7 +663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8104"
+NAME="AEN10293"
 ></A
 ><H3
 ><A
@@ -744,7 +738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8123"
+NAME="AEN10312"
 ></A
 ><H3
 ><A
@@ -867,7 +861,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8152"
+NAME="AEN10341"
 ></A
 ><H3
 ><A
@@ -961,7 +955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8175"
+NAME="AEN10364"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index dcc4b3a..36a6131 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -4,7 +4,7 @@
 >parser</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,10 +111,7 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-PARSER"
->parser</A
-></H1
+>parser</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -125,7 +119,7 @@
 ></A
 ><H2
 >Name</H2
->parser&nbsp;--&nbsp;</DIV
+>parser &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
@@ -155,27 +149,22 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 >*);
+struct      <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUT"
+>xmlParserInput</A
+>;
 typedef     <A
 HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
 >xmlParserInputPtr</A
 >;
-<A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> (<A
-HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
->*xmlExternalEntityLoader</A
->)
-                                            (const char *URL,
-                                             const char *ID,
-                                             <A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> context);
 struct      <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
 >;
+typedef     <A
+HREF="gnome-xml-parser.html#XMLPARSERNODEINFOPTR"
+>xmlParserNodeInfoPtr</A
+>;
 struct      <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFOSEQ"
 >xmlParserNodeInfoSeq</A
@@ -235,6 +224,22 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *SystemID);
+void        (<A
+HREF="gnome-xml-parser.html#EXTERNALSUBSETSAXFUNC"
+>*externalSubsetSAXFunc</A
+>)        (void *ctx,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *SystemID);
 <A
 HREF="gnome-xml-entities.html#XMLENTITYPTR"
 >xmlEntityPtr</A
@@ -482,10 +487,27 @@
 HREF="gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC"
 >*hasExternalSubsetSAXFunc</A
 >)     (void *ctx);
+struct      <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLER"
+>xmlSAXHandler</A
+>;
 typedef     <A
 HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
 >xmlSAXHandlerPtr</A
 >;
+<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>*xmlExternalEntityLoader</A
+>)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> context);
 extern      const char *<A
 HREF="gnome-xml-parser.html#XMLPARSERVERSION"
 >xmlParserVersion</A
@@ -506,6 +528,14 @@
 HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"
 >xmlSubstituteEntitiesDefaultValue</A
 >;
+extern      int <A
+HREF="gnome-xml-parser.html#XMLGETWARNINGSDEFAULTVALUE"
+>xmlGetWarningsDefaultValue</A
+>;
+void        <A
+HREF="gnome-xml-parser.html#XMLCLEANUPPARSER"
+>xmlCleanupParser</A
+>                (void);
 int         <A
 HREF="gnome-xml-parser.html#XMLPARSERINPUTREAD"
 >xmlParserInputRead</A
@@ -671,6 +701,17 @@
 HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULT"
 >xmlSubstituteEntitiesDefault</A
 >    (int val);
+int         <A
+HREF="gnome-xml-parser.html#XMLKEEPBLANKSDEFAULT"
+>xmlKeepBlanksDefault</A
+>            (int val);
+void        <A
+HREF="gnome-xml-parser.html#XMLSTOPPARSER"
+>xmlStopParser</A
+>                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
 <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
@@ -718,6 +759,25 @@
 >xmlChar</A
 > *cur,
                                              int recovery);
+int         <A
+HREF="gnome-xml-parser.html#XMLSAXUSERPARSEFILE"
+>xmlSAXUserParseFile</A
+>             (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *filename);
+int         <A
+HREF="gnome-xml-parser.html#XMLSAXUSERPARSEMEMORY"
+>xmlSAXUserParseMemory</A
+>           (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             char *buffer,
+                                             int size);
 <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
@@ -775,6 +835,60 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *SystemID);
+int         <A
+HREF="gnome-xml-parser.html#XMLPARSEBALANCEDCHUNKMEMORY"
+>xmlParseBalancedChunkMemory</A
+>     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);
+int         <A
+HREF="gnome-xml-parser.html#XMLPARSEEXTERNALENTITY"
+>xmlParseExternalEntity</A
+>          (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);
+void        <A
+HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
+>xmlDefaultSAXHandlerInit</A
+>        (void);
+void        <A
+HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
+>htmlDefaultSAXHandlerInit</A
+>       (void);
 void        <A
 HREF="gnome-xml-parser.html#XMLINITPARSERCTXT"
 >xmlInitParserCtxt</A
@@ -790,6 +904,13 @@
 >xmlParserCtxtPtr</A
 > ctxt);
 void        <A
+HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
+>xmlFreeParserCtxt</A
+>               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
+void        <A
 HREF="gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER"
 >xmlSetupParserForBuffer</A
 >         (<A
@@ -801,14 +922,82 @@
 >xmlChar</A
 > *buffer,
                                              const char *filename);
-void        <A
-HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
->xmlDefaultSAXHandlerInit</A
->        (void);
-void        <A
-HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
->htmlDefaultSAXHandlerInit</A
->       (void);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT"
+>xmlCreateDocParserCtxt</A
+>     (<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT"
+>xmlCreatePushParserCtxt</A
+>    (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename);
+int         <A
+HREF="gnome-xml-parser.html#XMLPARSECHUNK"
+>xmlParseChunk</A
+>                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-parser.html#XMLCREATEIOPARSERCTXT"
+>xmlCreateIOParserCtxt</A
+>      (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> ioread,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> <A
+HREF="gnome-xml-parser.html#XMLNEWIOINPUTSTREAM"
+>xmlNewIOInputStream</A
+>       (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> input,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
 const <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
@@ -897,7 +1086,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN229"
+NAME="AEN277"
 ></A
 ><H2
 >Description</H2
@@ -907,14 +1096,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN232"
+NAME="AEN280"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN234"
+NAME="AEN282"
 ></A
 ><H3
 ><A
@@ -930,7 +1119,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_DEFAULT_VERSION</PRE
+>#define XML_DEFAULT_VERSION	"1.0"</PRE
 ></TD
 ></TR
 ></TABLE
@@ -940,7 +1129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN239"
+NAME="AEN287"
 ></A
 ><H3
 ><A
@@ -1001,26 +1190,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN254"
+NAME="AEN302"
 ></A
 ><H3
 ><A
-NAME="XMLPARSERINPUTPTR"
+NAME="XMLPARSERINPUT"
 ></A
->xmlParserInputPtr</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN258"
-></A
-><H3
-><A
-NAME="XMLEXTERNALENTITYLOADER"
-></A
->xmlExternalEntityLoader ()</H3
+>struct xmlParserInput</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1030,107 +1206,59 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> (*xmlExternalEntityLoader)
-                                            (const char *URL,
-                                             const char *ID,
-                                             <A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> context);</PRE
+>struct xmlParserInput {
+    /* Input buffer */
+    xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */
+
+    const char *filename;             /* The file analyzed, if any */
+    const char *directory;            /* the directory/base of teh file */
+    const xmlChar *base;              /* Base of the array to parse */
+    const xmlChar *cur;               /* Current char being parsed */
+    int length;                       /* length if known */
+    int line;                         /* Current line */
+    int col;                          /* Current column */
+    int consumed;                     /* How many xmlChars already consumed */
+    xmlParserInputDeallocate free;    /* function to deallocate the base */
+    const xmlChar *encoding;          /* the encoding string for entity */
+    const xmlChar *version;           /* the version string for entity */
+    int standalone;                   /* Was that entity marked standalone */
+};</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
 ></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN307"
+></A
+><H3
+><A
+NAME="XMLPARSERINPUTPTR"
+></A
+>xmlParserInputPtr</H3
 ><TABLE
 BORDER="0"
+BGCOLOR="#D6E8FF"
 WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
+CELLPADDING="6"
 ><TR
 ><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->URL</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
->ID</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
->context</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
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInput *xmlParserInputPtr;</PRE
+></TD
 ></TR
 ></TABLE
 ><P
 ></P
 ></DIV
-></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN286"
+NAME="AEN312"
 ></A
 ><H3
 ><A
@@ -1163,7 +1291,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN291"
+NAME="AEN317"
+></A
+><H3
+><A
+NAME="XMLPARSERNODEINFOPTR"
+></A
+>xmlParserNodeInfoPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN322"
 ></A
 ><H3
 ><A
@@ -1193,20 +1347,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN296"
+NAME="AEN327"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFOSEQPTR"
 ></A
 >xmlParserNodeInfoSeqPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN300"
+NAME="AEN332"
 ></A
 ><H3
 ><A
@@ -1249,7 +1416,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN305"
+NAME="AEN337"
 ></A
 ><H3
 ><A
@@ -1271,8 +1438,8 @@
     xmlDocPtr           myDoc;        /* the document being built */
     int            wellFormed;        /* is the document well formed */
     int       replaceEntities;        /* shall we replace entities ? */
-    const xmlChar       *version;        /* the XML version string */
-    const xmlChar      *encoding;        /* encoding, if any */
+    const xmlChar    *version;        /* the XML version string */
+    const xmlChar   *encoding;        /* the declared encoding, if any */
     int            standalone;        /* standalone document */
     int                  html;        /* are we parsing an HTML document */
 
@@ -1328,7 +1495,11 @@
     int *              spaceTab;      /* array of space infos */
 
     int                depth;         /* to prevent entity substitution loops */
-    xmlParserInputPtr  entity;      /* used to check entities boundaries */
+    xmlParserInputPtr  entity;        /* used to check entities boundaries */
+    int                charset;       /* encoding of the in-memory content
+				         actually an xmlCharEncoding */
+    int                nodelen;       /* Those two fields are there to */
+    int                nodemem;       /* Speed up large node parsing */
 };</PRE
 ></TD
 ></TR
@@ -1339,20 +1510,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN310"
+NAME="AEN342"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERCTXTPTR"
 ></A
 >xmlParserCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxt *xmlParserCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN314"
+NAME="AEN347"
 ></A
 ><H3
 ><A
@@ -1383,20 +1567,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN319"
+NAME="AEN352"
 ></A
 ><H3
 ><A
 NAME="XMLSAXLOCATORPTR"
 ></A
 >xmlSAXLocatorPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXLocator *xmlSAXLocatorPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN323"
+NAME="AEN357"
 ></A
 ><H3
 ><A
@@ -1514,7 +1711,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN352"
+NAME="AEN386"
 ></A
 ><H3
 ><A
@@ -1635,7 +1832,128 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN381"
+NAME="AEN415"
+></A
+><H3
+><A
+NAME="EXTERNALSUBSETSAXFUNC"
+></A
+>externalSubsetSAXFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*externalSubsetSAXFunc)        (void *ctx,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *SystemID);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctx</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
+>ExternalID</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
+>SystemID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN444"
 ></A
 ><H3
 ><A
@@ -1732,7 +2050,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN405"
+NAME="AEN468"
 ></A
 ><H3
 ><A
@@ -1829,7 +2147,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN429"
+NAME="AEN492"
 ></A
 ><H3
 ><A
@@ -1989,7 +2307,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN467"
+NAME="AEN530"
 ></A
 ><H3
 ><A
@@ -2110,7 +2428,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN496"
+NAME="AEN559"
 ></A
 ><H3
 ><A
@@ -2288,7 +2606,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN538"
+NAME="AEN601"
 ></A
 ><H3
 ><A
@@ -2406,7 +2724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN566"
+NAME="AEN629"
 ></A
 ><H3
 ><A
@@ -2548,7 +2866,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN600"
+NAME="AEN663"
 ></A
 ><H3
 ><A
@@ -2627,7 +2945,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN619"
+NAME="AEN682"
 ></A
 ><H3
 ><A
@@ -2685,7 +3003,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN633"
+NAME="AEN696"
 ></A
 ><H3
 ><A
@@ -2743,7 +3061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN647"
+NAME="AEN710"
 ></A
 ><H3
 ><A
@@ -2843,7 +3161,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN671"
+NAME="AEN734"
 ></A
 ><H3
 ><A
@@ -2922,7 +3240,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN690"
+NAME="AEN753"
 ></A
 ><H3
 ><A
@@ -3022,7 +3340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN714"
+NAME="AEN777"
 ></A
 ><H3
 ><A
@@ -3101,7 +3419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN733"
+NAME="AEN796"
 ></A
 ><H3
 ><A
@@ -3198,7 +3516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN756"
+NAME="AEN819"
 ></A
 ><H3
 ><A
@@ -3295,7 +3613,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN779"
+NAME="AEN842"
 ></A
 ><H3
 ><A
@@ -3395,7 +3713,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN803"
+NAME="AEN866"
 ></A
 ><H3
 ><A
@@ -3474,7 +3792,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN822"
+NAME="AEN885"
 ></A
 ><H3
 ><A
@@ -3571,7 +3889,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN845"
+NAME="AEN908"
 ></A
 ><H3
 ><A
@@ -3665,7 +3983,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN867"
+NAME="AEN930"
 ></A
 ><H3
 ><A
@@ -3759,7 +4077,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN889"
+NAME="AEN952"
 ></A
 ><H3
 ><A
@@ -3853,7 +4171,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN911"
+NAME="AEN974"
 ></A
 ><H3
 ><A
@@ -3926,7 +4244,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN929"
+NAME="AEN992"
 ></A
 ><H3
 ><A
@@ -3999,7 +4317,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN947"
+NAME="AEN1010"
 ></A
 ><H3
 ><A
@@ -4072,20 +4390,203 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN965"
+NAME="AEN1028"
 ></A
 ><H3
 ><A
-NAME="XMLSAXHANDLERPTR"
+NAME="XMLSAXHANDLER"
 ></A
->xmlSAXHandlerPtr</H3
+>struct xmlSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlSAXHandler {
+    internalSubsetSAXFunc internalSubset;
+    isStandaloneSAXFunc isStandalone;
+    hasInternalSubsetSAXFunc hasInternalSubset;
+    hasExternalSubsetSAXFunc hasExternalSubset;
+    resolveEntitySAXFunc resolveEntity;
+    getEntitySAXFunc getEntity;
+    entityDeclSAXFunc entityDecl;
+    notationDeclSAXFunc notationDecl;
+    attributeDeclSAXFunc attributeDecl;
+    elementDeclSAXFunc elementDecl;
+    unparsedEntityDeclSAXFunc unparsedEntityDecl;
+    setDocumentLocatorSAXFunc setDocumentLocator;
+    startDocumentSAXFunc startDocument;
+    endDocumentSAXFunc endDocument;
+    startElementSAXFunc startElement;
+    endElementSAXFunc endElement;
+    referenceSAXFunc reference;
+    charactersSAXFunc characters;
+    ignorableWhitespaceSAXFunc ignorableWhitespace;
+    processingInstructionSAXFunc processingInstruction;
+    commentSAXFunc comment;
+    warningSAXFunc warning;
+    errorSAXFunc error;
+    fatalErrorSAXFunc fatalError;
+    getParameterEntitySAXFunc getParameterEntity;
+    cdataBlockSAXFunc cdataBlock;
+    externalSubsetSAXFunc externalSubset;
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN969"
+NAME="AEN1033"
+></A
+><H3
+><A
+NAME="XMLSAXHANDLERPTR"
+></A
+>xmlSAXHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandler *xmlSAXHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1038"
+></A
+><H3
+><A
+NAME="XMLEXTERNALENTITYLOADER"
+></A
+>xmlExternalEntityLoader ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (*xmlExternalEntityLoader)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> context);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URL</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
+>ID</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
+>context</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1066"
 ></A
 ><H3
 ><A
@@ -4111,7 +4612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN974"
+NAME="AEN1071"
 ></A
 ><H3
 ><A
@@ -4137,7 +4638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN979"
+NAME="AEN1076"
 ></A
 ><H3
 ><A
@@ -4163,7 +4664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN984"
+NAME="AEN1081"
 ></A
 ><H3
 ><A
@@ -4189,7 +4690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN989"
+NAME="AEN1086"
 ></A
 ><H3
 ><A
@@ -4215,7 +4716,64 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN994"
+NAME="AEN1091"
+></A
+><H3
+><A
+NAME="XMLGETWARNINGSDEFAULTVALUE"
+></A
+>xmlGetWarningsDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern int xmlGetWarningsDefaultValue;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1096"
+></A
+><H3
+><A
+NAME="XMLCLEANUPPARSER"
+></A
+>xmlCleanupParser ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCleanupParser                (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Cleanup function for the XML parser. It tries to reclaim all
+parsing related global memory allocated for the parser processing.
+It doesn't deallocate any document related memory. Calling this
+function should not prevent reusing the parser.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1102"
 ></A
 ><H3
 ><A
@@ -4270,7 +4828,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input</TD
 ></TR
 ><TR
 ><TD
@@ -4287,7 +4845,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an indicative size for the lookahead</TD
 ></TR
 ><TR
 ><TD
@@ -4302,7 +4860,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of xmlChars read, or -1 in case of error, 0 indicate the
+end of this entity</TD
 ></TR
 ></TABLE
 ><P
@@ -4312,7 +4871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1018"
+NAME="AEN1126"
 ></A
 ><H3
 ><A
@@ -4367,7 +4926,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input</TD
 ></TR
 ><TR
 ><TD
@@ -4384,7 +4943,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an indicative size for the lookahead</TD
 ></TR
 ><TR
 ><TD
@@ -4399,7 +4958,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of xmlChars read, or -1 in case of error, 0 indicate the
+end of this entity</TD
 ></TR
 ></TABLE
 ><P
@@ -4409,7 +4969,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1042"
+NAME="AEN1150"
 ></A
 ><H3
 ><A
@@ -4436,7 +4996,9 @@
 ></TR
 ></TABLE
 ><P
->a strdup for array of xmlChar's</P
+>a strdup for array of xmlChar's. Since they are supposed to be
+encoded in UTF-8 or an encoding with 8bit based chars, we assume
+a termination mark of '0'.</P
 ><P
 ></P
 ><DIV
@@ -4465,7 +5027,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the input xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -4480,7 +5042,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new xmlChar * or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4490,7 +5052,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1063"
+NAME="AEN1171"
 ></A
 ><H3
 ><A
@@ -4547,7 +5109,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the input xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -4564,7 +5126,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the len of <TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+></TD
 ></TR
 ><TR
 ><TD
@@ -4579,7 +5146,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new xmlChar * or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4589,7 +5156,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1088"
+NAME="AEN1197"
 ></A
 ><H3
 ><A
@@ -4647,7 +5214,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array (haystack)</TD
 ></TR
 ><TR
 ><TD
@@ -4664,7 +5231,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the index of the first char (zero based)</TD
 ></TR
 ><TR
 ><TD
@@ -4681,7 +5248,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the substring</TD
 ></TR
 ><TR
 ><TD
@@ -4696,7 +5263,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlChar * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4706,7 +5273,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1117"
+NAME="AEN1226"
 ></A
 ><H3
 ><A
@@ -4766,7 +5333,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array</TD
 ></TR
 ><TR
 ><TD
@@ -4783,7 +5350,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar to search</TD
 ></TR
 ><TR
 ><TD
@@ -4798,7 +5365,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlChar * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4808,7 +5375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1143"
+NAME="AEN1252"
 ></A
 ><H3
 ><A
@@ -4868,7 +5435,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array (haystack)</TD
 ></TR
 ><TR
 ><TD
@@ -4885,7 +5452,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar to search (needle)</TD
 ></TR
 ><TR
 ><TD
@@ -4900,7 +5467,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlChar * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4910,7 +5477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1169"
+NAME="AEN1278"
 ></A
 ><H3
 ><A
@@ -4967,7 +5534,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -4984,7 +5551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -4999,7 +5566,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the integer result of the comparison</TD
 ></TR
 ></TABLE
 ><P
@@ -5009,7 +5576,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1194"
+NAME="AEN1303"
 ></A
 ><H3
 ><A
@@ -5067,7 +5634,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -5084,7 +5651,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second xmlChar *</TD
 ></TR
 ><TR
 ><TD
@@ -5101,7 +5668,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the max comparison length</TD
 ></TR
 ><TR
 ><TD
@@ -5116,7 +5683,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the integer result of the comparison</TD
 ></TR
 ></TABLE
 ><P
@@ -5126,7 +5693,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1223"
+NAME="AEN1332"
 ></A
 ><H3
 ><A
@@ -5150,7 +5717,7 @@
 ></TR
 ></TABLE
 ><P
->lenght of a xmlChar's string</P
+>length of a xmlChar's string</P
 ><P
 ></P
 ><DIV
@@ -5179,7 +5746,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array</TD
 ></TR
 ><TR
 ><TD
@@ -5194,7 +5761,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of xmlChar contained in the ARRAY.</TD
 ></TR
 ></TABLE
 ><P
@@ -5204,7 +5771,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1243"
+NAME="AEN1352"
 ></A
 ><H3
 ><A
@@ -5235,7 +5802,9 @@
 ></TR
 ></TABLE
 ><P
->a strcat for array of xmlChar's</P
+>a strcat for array of xmlChar's. Since they are supposed to be
+encoded in UTF-8 or an encoding with 8bit based chars, we assume
+a termination mark of '0'.</P
 ><P
 ></P
 ><DIV
@@ -5264,7 +5833,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the original xmlChar * array</TD
 ></TR
 ><TR
 ><TD
@@ -5281,7 +5850,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array added</TD
 ></TR
 ><TR
 ><TD
@@ -5296,7 +5865,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new xmlChar * containing the concatenated string.</TD
 ></TR
 ></TABLE
 ><P
@@ -5306,7 +5875,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1269"
+NAME="AEN1378"
 ></A
 ><H3
 ><A
@@ -5367,7 +5936,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the original xmlChar * array</TD
 ></TR
 ><TR
 ><TD
@@ -5384,7 +5953,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar * array added</TD
 ></TR
 ><TR
 ><TD
@@ -5401,7 +5970,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of <TT
+CLASS="PARAMETER"
+><I
+>add</I
+></TT
+></TD
 ></TR
 ><TR
 ><TD
@@ -5416,7 +5990,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new xmlChar * containing the concatenated string.</TD
 ></TR
 ></TABLE
 ><P
@@ -5426,7 +6000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1299"
+NAME="AEN1409"
 ></A
 ><H3
 ><A
@@ -5482,7 +6056,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of xmlChar</TD
 ></TR
 ><TR
 ><TD
@@ -5497,7 +6071,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5507,7 +6081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1320"
+NAME="AEN1430"
 ></A
 ><H3
 ><A
@@ -5561,7 +6135,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -5578,7 +6152,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array</TD
 ></TR
 ><TR
 ><TD
@@ -5593,7 +6167,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5603,7 +6177,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1344"
+NAME="AEN1454"
 ></A
 ><H3
 ><A
@@ -5657,7 +6231,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -5672,7 +6246,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5682,7 +6256,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1364"
+NAME="AEN1474"
 ></A
 ><H3
 ><A
@@ -5740,7 +6314,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  int 0 or 1 </TD
 ></TR
 ><TR
 ><TD
@@ -5755,6 +6329,169 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>the last value for 0 for no substitution, 1 for substitution.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1494"
+></A
+><H3
+><A
+NAME="XMLKEEPBLANKSDEFAULT"
+></A
+>xmlKeepBlanksDefault ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlKeepBlanksDefault            (int val);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Set and return the previous value for default blanks text nodes support.
+The 1.x version of the parser used an heuristic to try to detect
+ignorable white spaces. As a result the SAX callback was generating
+<A
+HREF="gnome-xml-sax.html#IGNORABLEWHITESPACE"
+>ignorableWhitespace</A
+>() callbacks instead of <A
+HREF="gnome-xml-sax.html#CHARACTERS"
+>characters</A
+>() one, and when
+using the DOM output text nodes containing those blanks were not generated.
+The 2.x and later version will switch to the XML standard way and
+<A
+HREF="gnome-xml-sax.html#IGNORABLEWHITESPACE"
+>ignorableWhitespace</A
+>() are only generated when running the parser in
+validating mode and when the current element doesn't allow CDATA or
+mixed content.
+This function is provided as a way to force the standard behaviour 
+on 1.X libs and to switch back to the old mode for compatibility when
+running 1.X client code on 2.X . Upgrade of 1.X code should be done
+by using <A
+HREF="gnome-xml-tree.html#XMLISBLANKNODE"
+>xmlIsBlankNode</A
+>() commodity function to detect the "empty"
+nodes generated.
+This value also affect autogeneration of indentation when saving code
+if blanks sections are kept, indentation is not generated.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  int 0 or 1 </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the last value for 0 for no substitution, 1 for substitution.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1517"
+></A
+><H3
+><A
+NAME="XMLSTOPPARSER"
+></A
+>xmlStopParser ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlStopParser                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ></TABLE
@@ -5765,7 +6502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1384"
+NAME="AEN1532"
 ></A
 ><H3
 ><A
@@ -5822,7 +6559,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of xmlChar</TD
 ></TR
 ><TR
 ><TD
@@ -5837,7 +6574,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5847,7 +6584,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1405"
+NAME="AEN1553"
 ></A
 ><H3
 ><A
@@ -5902,7 +6639,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -5919,7 +6656,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array</TD
 ></TR
 ><TR
 ><TD
@@ -5934,7 +6671,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5944,7 +6681,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1429"
+NAME="AEN1577"
 ></A
 ><H3
 ><A
@@ -5999,7 +6736,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -6014,7 +6751,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6024,7 +6761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1449"
+NAME="AEN1597"
 ></A
 ><H3
 ><A
@@ -6082,7 +6819,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6097,7 +6834,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0, -1 in case of error. the parser context is augmented
+as a result of the parsing.</TD
 ></TR
 ></TABLE
 ><P
@@ -6107,7 +6845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1471"
+NAME="AEN1619"
 ></A
 ><H3
 ><A
@@ -6170,7 +6908,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6187,7 +6925,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of xmlChar</TD
 ></TR
 ><TR
 ><TD
@@ -6204,7 +6942,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read no Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -6219,7 +6958,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6229,7 +6968,255 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1501"
+NAME="AEN1649"
+></A
+><H3
+><A
+NAME="XMLSAXUSERPARSEFILE"
+></A
+>xmlSAXUserParseFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSAXUserParseFile             (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *filename);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an XML file and call the given SAX handler routines.
+Automatic support for ZLIB/Compress compressed document is provided</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a SAX handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a file name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 in case of success or a error number otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1677"
+></A
+><H3
+><A
+NAME="XMLSAXUSERPARSEMEMORY"
+></A
+>xmlSAXUserParseMemory ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSAXUserParseMemory           (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             char *buffer,
+                                             int size);</PRE
+></TD
+></TR
+></TABLE
+><P
+>A better SAX parsing routine.
+parse an XML in-memory buffer and call the given SAX handler routines.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a SAX handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buffer</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an in-memory XML document input</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the length of the XML document in bytes</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 in case of success or a error number otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1709"
 ></A
 ><H3
 ><A
@@ -6290,7 +7277,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6307,7 +7294,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -6324,7 +7311,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array</TD
 ></TR
 ><TR
 ><TD
@@ -6341,7 +7328,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read not Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -6356,7 +7344,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6366,7 +7354,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1534"
+NAME="AEN1742"
 ></A
 ><H3
 ><A
@@ -6427,7 +7415,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6444,7 +7432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -6461,7 +7449,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read no Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -6476,7 +7465,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6486,7 +7475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1563"
+NAME="AEN1771"
 ></A
 ><H3
 ><A
@@ -6546,7 +7535,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the External ID of the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6563,7 +7552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the URL to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6578,7 +7567,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting xmlDtdPtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6588,7 +7577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1589"
+NAME="AEN1797"
 ></A
 ><H3
 ><A
@@ -6652,7 +7641,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6669,7 +7658,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the External ID of the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6686,6 +7675,181 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  a NAME* containing the URL to the DTD</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the resulting xmlDtdPtr or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1828"
+></A
+><H3
+><A
+NAME="XMLPARSEBALANCEDCHUNKMEMORY"
+></A
+>xmlParseBalancedChunkMemory ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParseBalancedChunkMemory     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</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
+>sax</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
+>user_data</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
+>depth</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
+>string</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
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ><TR
@@ -6711,7 +7875,266 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1620"
+NAME="AEN1870"
+></A
+><H3
+><A
+NAME="XMLPARSEEXTERNALENTITY"
+></A
+>xmlParseExternalEntity ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParseExternalEntity          (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Parse an external general entity
+An external general parsed entity is well-formed if it matches the
+production labeled extParsedEnt.</P
+><P
+>[78] extParsedEnt ::= TextDecl? content</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document the chunk pertains to</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the SAX handler bloc (possibly NULL)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks (possibly NULL)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>depth</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  Used for loop detection, use 0</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URL</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the URL for the entity to load</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the System ID for the entity to load</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the return value for the set of parsed nodes</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if the entity is well formed, -1 in case of args problem and
+the parser error code otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1919"
+></A
+><H3
+><A
+NAME="XMLDEFAULTSAXHANDLERINIT"
+></A
+>xmlDefaultSAXHandlerInit ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDefaultSAXHandlerInit        (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Initialize the default SAX handler</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1925"
+></A
+><H3
+><A
+NAME="HTMLDEFAULTSAXHANDLERINIT"
+></A
+>htmlDefaultSAXHandlerInit ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        htmlDefaultSAXHandlerInit       (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Initialize the default SAX handler</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1931"
 ></A
 ><H3
 ><A
@@ -6764,7 +8187,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6774,7 +8197,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1636"
+NAME="AEN1947"
 ></A
 ><H3
 ><A
@@ -6827,7 +8250,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6837,7 +8260,71 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1652"
+NAME="AEN1963"
+></A
+><H3
+><A
+NAME="XMLFREEPARSERCTXT"
+></A
+>xmlFreeParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlFreeParserCtxt               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1979"
 ></A
 ><H3
 ><A
@@ -6897,7 +8384,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6914,7 +8401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a xmlChar * buffer</TD
 ></TR
 ><TR
 ><TD
@@ -6931,7 +8418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a file name</TD
 ></TR
 ></TABLE
 ><P
@@ -6941,13 +8428,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1677"
+NAME="AEN2004"
 ></A
 ><H3
 ><A
-NAME="XMLDEFAULTSAXHANDLERINIT"
+NAME="XMLCREATEDOCPARSERCTXT"
 ></A
->xmlDefaultSAXHandlerInit ()</H3
+>xmlCreateDocParserCtxt ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -6957,25 +8444,78 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlDefaultSAXHandlerInit        (void);</PRE
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlCreateDocParserCtxt     (<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Initialize the default SAX handler</P
+>Creates a parser context for an XML in-memory document.</P
 ><P
 ></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to an array of xmlChar</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1683"
+NAME="AEN2025"
 ></A
 ><H3
 ><A
-NAME="HTMLDEFAULTSAXHANDLERINIT"
+NAME="XMLCREATEPUSHPARSERCTXT"
 ></A
->htmlDefaultSAXHandlerInit ()</H3
+>xmlCreatePushParserCtxt ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -6985,19 +8525,599 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        htmlDefaultSAXHandlerInit       (void);</PRE
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlCreatePushParserCtxt    (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Initialize the default SAX handler</P
+>Create a parser context for using the XML parser in push mode
+To allow content encoding detection, <TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+> should be &gt;= 4
+The value of <TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+> is used for fetching external entities
+and error/warning reports.</P
 ><P
 ></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a SAX handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>chunk</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to an array of chars</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  number of chars in the array</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an optional file name or URI</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1689"
+NAME="AEN2064"
+></A
+><H3
+><A
+NAME="XMLPARSECHUNK"
+></A
+>xmlParseChunk ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParseChunk                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Parse a Chunk of memory</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>chunk</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an char array</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size in byte of the chunk</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>terminate</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  last chunk indicator</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>zero if no error, the xmlParserErrors otherwise.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2096"
+></A
+><H3
+><A
+NAME="XMLCREATEIOPARSERCTXT"
+></A
+>xmlCreateIOParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlCreateIOParserCtxt      (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> ioread,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for using the XML parser with an existing
+I/O stream</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a SAX handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioread</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O read function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioclose</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O close function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the charset encoding if known</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2140"
+></A
+><H3
+><A
+NAME="XMLNEWIOINPUTSTREAM"
+></A
+>xmlNewIOInputStream ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> xmlNewIOInputStream       (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> input,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a new input stream structure encapsulating the <TT
+CLASS="PARAMETER"
+><I
+>input</I
+></TT
+> into
+a stream suitable for the parser.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O Input</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the charset encoding if known</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new input stream or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2172"
 ></A
 ><H3
 ><A
@@ -7058,7 +9178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7075,7 +9195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML node within the tree</TD
 ></TR
 ><TR
 ><TD
@@ -7090,7 +9210,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>an xmlParserNodeInfo block pointer or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -7100,7 +9220,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1715"
+NAME="AEN2198"
 ></A
 ><H3
 ><A
@@ -7153,7 +9273,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -7163,7 +9283,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1731"
+NAME="AEN2214"
 ></A
 ><H3
 ><A
@@ -7217,7 +9337,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -7227,7 +9347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1747"
+NAME="AEN2230"
 ></A
 ><H3
 ><A
@@ -7288,7 +9408,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ><TR
 ><TD
@@ -7305,7 +9425,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML node pointer</TD
 ></TR
 ><TR
 ><TD
@@ -7320,7 +9440,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a long indicating the position of the record</TD
 ></TR
 ></TABLE
 ><P
@@ -7330,7 +9450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1773"
+NAME="AEN2256"
 ></A
 ><H3
 ><A
@@ -7387,7 +9507,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7404,7 +9524,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -7414,7 +9534,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1794"
+NAME="AEN2277"
 ></A
 ><H3
 ><A
@@ -7475,7 +9595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1809"
+NAME="AEN2292"
 ></A
 ><H3
 ><A
@@ -7535,7 +9655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1824"
+NAME="AEN2307"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index 9bd27f6..13053eb 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -4,7 +4,7 @@
 >parserInternals</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-PARSERINTERNALS"
->parserInternals</A
-></H1
+>parserInternals</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8929"
+NAME="AEN11751"
 ></A
 ><H2
 >Name</H2
->parserInternals&nbsp;--&nbsp;</DIV
+>parserInternals &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8932"
+NAME="AEN11754"
 ></A
 ><H2
 >Synopsis</H2
@@ -148,18 +142,6 @@
 HREF="gnome-xml-parserinternals.html#XML-MAX-NAMELEN"
 >XML_MAX_NAMELEN</A
 >
-typedef     <A
-HREF="gnome-xml-parserinternals.html#CHARVAL"
->CHARVAL</A
->;
-#define     <A
-HREF="gnome-xml-parserinternals.html#NEXTCHARVAL"
->NEXTCHARVAL</A
->                     (p)
-#define     <A
-HREF="gnome-xml-parserinternals.html#SKIPCHARVAL"
->SKIPCHARVAL</A
->                     (p)
 #define     <A
 HREF="gnome-xml-parserinternals.html#IS-CHAR"
 >IS_CHAR</A
@@ -212,7 +194,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > <A
-HREF="gnome-xml-parserinternals.html#XMLCREATEDOCPARSERCTXT"
+HREF="gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT"
 >xmlCreateDocParserCtxt</A
 >     (<A
 HREF="gnome-xml-tree.html#XMLCHAR"
@@ -233,13 +215,6 @@
 >xmlCreateMemoryParserCtxt</A
 >  (char *buffer,
                                              int size);
-void        <A
-HREF="gnome-xml-parserinternals.html#XMLFREEPARSERCTXT"
->xmlFreeParserCtxt</A
->               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
 <A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
@@ -247,7 +222,25 @@
 HREF="gnome-xml-parserinternals.html#XMLNEWPARSERCTXT"
 >xmlNewParserCtxt</A
 >           (void);
-void        <A
+<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-parserinternals.html#XMLCREATEENTITYPARSERCTXT"
+>xmlCreateEntityParserCtxt</A
+>  (const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *base);
+int         <A
 HREF="gnome-xml-parserinternals.html#XMLSWITCHENCODING"
 >xmlSwitchEncoding</A
 >               (<A
@@ -258,6 +251,24 @@
 HREF="gnome-xml-encoding.html#XMLCHARENCODING"
 >xmlCharEncoding</A
 > enc);
+int         <A
+HREF="gnome-xml-parserinternals.html#XMLSWITCHTOENCODING"
+>xmlSwitchToEncoding</A
+>             (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> handler);
+void        <A
+HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
+>xmlFreeParserCtxt</A
+>               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
 void        <A
 HREF="gnome-xml-parserinternals.html#XMLHANDLEENTITY"
 >xmlHandleEntity</A
@@ -782,6 +793,13 @@
 >xmlParserCtxtPtr</A
 > ctxt);
 void        <A
+HREF="gnome-xml-parserinternals.html#XMLPARSETEXTDECL"
+>xmlParseTextDecl</A
+>                (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
+void        <A
 HREF="gnome-xml-parserinternals.html#XMLPARSEMISC"
 >xmlParseMisc</A
 >                    (<A
@@ -843,6 +861,33 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > end3);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-parserinternals.html#XMLSTRINGDECODEENTITIES"
+>xmlStringDecodeEntities</A
+>         (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end3);
 int         <A
 HREF="gnome-xml-parserinternals.html#NODEPUSH"
 >nodePush</A
@@ -892,7 +937,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9143"
+NAME="AEN11979"
 ></A
 ><H2
 >Description</H2
@@ -902,14 +947,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9146"
+NAME="AEN11982"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9148"
+NAME="AEN11984"
 ></A
 ><H3
 ><A
@@ -925,7 +970,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MAX_NAMELEN</PRE
+>#define XML_MAX_NAMELEN 1000</PRE
 ></TD
 ></TR
 ></TABLE
@@ -935,136 +980,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9153"
-></A
-><H3
-><A
-NAME="CHARVAL"
-></A
->CHARVAL</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9157"
-></A
-><H3
-><A
-NAME="NEXTCHARVAL"
-></A
->NEXTCHARVAL()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     NEXTCHARVAL(p)</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->p</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9171"
-></A
-><H3
-><A
-NAME="SKIPCHARVAL"
-></A
->SKIPCHARVAL()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define SKIPCHARVAL(p) (p)++;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->p</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9185"
+NAME="AEN11989"
 ></A
 ><H3
 ><A
@@ -1122,7 +1038,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9199"
+NAME="AEN12003"
 ></A
 ><H3
 ><A
@@ -1180,7 +1096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9213"
+NAME="AEN12017"
 ></A
 ><H3
 ><A
@@ -1238,7 +1154,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9227"
+NAME="AEN12031"
 ></A
 ><H3
 ><A
@@ -1296,7 +1212,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9241"
+NAME="AEN12045"
 ></A
 ><H3
 ><A
@@ -1354,7 +1270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9255"
+NAME="AEN12059"
 ></A
 ><H3
 ><A
@@ -1412,7 +1328,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9269"
+NAME="AEN12073"
 ></A
 ><H3
 ><A
@@ -1470,7 +1386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9283"
+NAME="AEN12087"
 ></A
 ><H3
 ><A
@@ -1486,7 +1402,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     IS_LETTER(c)</PRE
+>#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1528,7 +1444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9297"
+NAME="AEN12101"
 ></A
 ><H3
 ><A
@@ -1586,7 +1502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9311"
+NAME="AEN12115"
 ></A
 ><H3
 ><A
@@ -1644,7 +1560,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9325"
+NAME="AEN12129"
 ></A
 ><H3
 ><A
@@ -1702,7 +1618,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9339"
+NAME="AEN12143"
 ></A
 ><H3
 ><A
@@ -1760,7 +1676,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9353"
+NAME="AEN12157"
 ></A
 ><H3
 ><A
@@ -1787,7 +1703,7 @@
 ></TR
 ></TABLE
 ><P
->Create a parser context for an XML in-memory document.</P
+>Creates a parser context for an XML in-memory document.</P
 ><P
 ></P
 ><DIV
@@ -1841,7 +1757,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9374"
+NAME="AEN12178"
 ></A
 ><H3
 ><A
@@ -1896,7 +1812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1911,7 +1827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser context or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -1921,7 +1837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9394"
+NAME="AEN12198"
 ></A
 ><H3
 ><A
@@ -1975,7 +1891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to a zero terminated char array</TD
 ></TR
 ><TR
 ><TD
@@ -1992,7 +1908,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array (without the trailing 0)</TD
 ></TR
 ><TR
 ><TD
@@ -2007,7 +1923,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser context or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2017,7 +1933,393 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9418"
+NAME="AEN12222"
+></A
+><H3
+><A
+NAME="XMLNEWPARSERCTXT"
+></A
+>xmlNewParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlNewParserCtxt           (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Allocate and initialize a new parser context.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the xmlParserCtxtPtr or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12238"
+></A
+><H3
+><A
+NAME="XMLCREATEENTITYPARSERCTXT"
+></A
+>xmlCreateEntityParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlCreateEntityParserCtxt  (const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *base);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for an external entity
+Automatic support for ZLIB/Compress compressed document is provided
+by default if found at compile-time.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URL</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the entity URL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the entity PUBLIC ID</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>base</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a posible base for the target URI</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12269"
+></A
+><H3
+><A
+NAME="XMLSWITCHENCODING"
+></A
+>xmlSwitchEncoding ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSwitchEncoding               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>change the input functions when discovering the character encoding
+of a given entity.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding value (number)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 in case of success, -1 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12294"
+></A
+><H3
+><A
+NAME="XMLSWITCHTOENCODING"
+></A
+>xmlSwitchToEncoding ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSwitchToEncoding             (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> handler);</PRE
+></TD
+></TR
+></TABLE
+><P
+>change the input functions when discovering the character encoding
+of a given entity.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 in case of success, -1 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12319"
 ></A
 ><H3
 ><A
@@ -2081,153 +2383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9434"
-></A
-><H3
-><A
-NAME="XMLNEWPARSERCTXT"
-></A
->xmlNewParserCtxt ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> xmlNewParserCtxt           (void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Allocate and initialize a new parser context.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9450"
-></A
-><H3
-><A
-NAME="XMLSWITCHENCODING"
-></A
->xmlSwitchEncoding ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlSwitchEncoding               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
-                                             <A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> enc);</PRE
-></TD
-></TR
-></TABLE
-><P
->change the input functions when discovering the character encoding
-of a given entity.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->enc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN9471"
+NAME="AEN12335"
 ></A
 ><H3
 ><A
@@ -2287,7 +2443,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2304,7 +2460,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML entity pointer.</TD
 ></TR
 ></TABLE
 ><P
@@ -2314,7 +2470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9493"
+NAME="AEN12357"
 ></A
 ><H3
 ><A
@@ -2374,7 +2530,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2391,7 +2547,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an Entity pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2406,7 +2562,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new input stream or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2416,7 +2572,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9519"
+NAME="AEN12383"
 ></A
 ><H3
 ><A
@@ -2474,7 +2630,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2491,7 +2647,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input fragment (entity, XML fragment ...).</TD
 ></TR
 ></TABLE
 ><P
@@ -2501,7 +2657,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9540"
+NAME="AEN12404"
 ></A
 ><H3
 ><A
@@ -2558,7 +2714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2573,7 +2729,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the current xmlChar in the parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -2583,7 +2739,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9561"
+NAME="AEN12425"
 ></A
 ><H3
 ><A
@@ -2636,7 +2792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an xmlParserInputPtr</TD
 ></TR
 ></TABLE
 ><P
@@ -2646,7 +2802,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9577"
+NAME="AEN12441"
 ></A
 ><H3
 ><A
@@ -2703,7 +2859,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2720,7 +2876,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename to use as entity</TD
 ></TR
 ><TR
 ><TD
@@ -2735,7 +2891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new input stream or NULL in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -2745,7 +2901,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9602"
+NAME="AEN12466"
 ></A
 ><H3
 ><A
@@ -2815,7 +2971,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2832,7 +2988,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2849,7 +3005,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a xmlChar ** </TD
 ></TR
 ><TR
 ><TD
@@ -2864,7 +3020,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the local part, and prefix is updated
+to get the Prefix if any.</TD
 ></TR
 ></TABLE
 ><P
@@ -2874,7 +3031,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9636"
+NAME="AEN12500"
 ></A
 ><H3
 ><A
@@ -2935,7 +3092,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2950,7 +3107,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace name or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2960,7 +3117,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9659"
+NAME="AEN12523"
 ></A
 ><H3
 ><A
@@ -3026,7 +3183,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3043,7 +3200,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a xmlChar ** </TD
 ></TR
 ><TR
 ><TD
@@ -3058,7 +3215,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the local part, and prefix is updated
+to get the Prefix if any.</TD
 ></TR
 ></TABLE
 ><P
@@ -3068,7 +3226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9688"
+NAME="AEN12552"
 ></A
 ><H3
 ><A
@@ -3128,7 +3286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3143,7 +3301,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace name</TD
 ></TR
 ></TABLE
 ><P
@@ -3153,7 +3311,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9711"
+NAME="AEN12575"
 ></A
 ><H3
 ><A
@@ -3210,7 +3368,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3225,7 +3383,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the string parser or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -3235,7 +3393,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9732"
+NAME="AEN12596"
 ></A
 ><H3
 ><A
@@ -3263,7 +3421,7 @@
 ><P
 >This is what the older xml-name Working Draft specified, a bunch of
 other stuff may still rely on it, so support is still here as
-if ot was declared on the root of the Tree:-(</P
+if it was declared on the root of the Tree:-(</P
 ><P
 >To be removed at next drop of binary compatibility</P
 ><P
@@ -3294,7 +3452,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -3304,7 +3462,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9750"
+NAME="AEN12614"
 ></A
 ><H3
 ><A
@@ -3368,7 +3526,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3383,7 +3541,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Name parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3393,7 +3551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9774"
+NAME="AEN12638"
 ></A
 ><H3
 ><A
@@ -3456,7 +3614,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3471,7 +3629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Name parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3481,7 +3639,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9798"
+NAME="AEN12662"
 ></A
 ><H3
 ><A
@@ -3541,7 +3699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3556,7 +3714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Nmtoken parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3566,7 +3724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9821"
+NAME="AEN12685"
 ></A
 ><H3
 ><A
@@ -3629,7 +3787,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3646,7 +3804,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if non-NULL store a copy of the original entity value</TD
 ></TR
 ><TR
 ><TD
@@ -3661,7 +3819,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the EntityValue parsed with reference substitued or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3671,7 +3829,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9848"
+NAME="AEN12712"
 ></A
 ><H3
 ><A
@@ -3705,6 +3863,58 @@
 >[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
 "'" ([^&lt;&amp;'] | Reference)* "'"</P
 ><P
+>3.3.3 Attribute-Value Normalization:
+Before the value of an attribute is passed to the application or
+checked for validity, the XML processor must normalize it as follows: 
+- a character reference is processed by appending the referenced
+character to the attribute value
+- an entity reference is processed by recursively processing the
+replacement text of the entity 
+- a whitespace character (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>, <GTKDOCLINK
+HREF="XD"
+>xD</GTKDOCLINK
+>, <GTKDOCLINK
+HREF="XA"
+>xA</GTKDOCLINK
+>, <GTKDOCLINK
+HREF="X9"
+>x9</GTKDOCLINK
+>) is processed by
+appending <GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+> to the normalized value, except that only a single
+<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+> is appended for a "<GTKDOCLINK
+HREF="XD"
+>xD</GTKDOCLINK
+><GTKDOCLINK
+HREF="XA"
+>xA</GTKDOCLINK
+>" sequence that is part of an external
+parsed entity or the literal entity value of an internal parsed entity 
+- other characters are processed by appending them to the normalized value 
+If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters, and by replacing sequences of space
+(<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters by a single space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) character.  
+All attributes for which no declaration has been read should be treated
+by a non-validating parser as if declared CDATA.</P
+><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -3732,7 +3942,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3747,7 +3957,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the AttValue parsed or NULL. The value has to be freed by the caller.</TD
 ></TR
 ></TABLE
 ><P
@@ -3757,7 +3967,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9870"
+NAME="AEN12746"
 ></A
 ><H3
 ><A
@@ -3815,7 +4025,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3830,7 +4040,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the SystemLiteral parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3840,7 +4050,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9892"
+NAME="AEN12768"
 ></A
 ><H3
 ><A
@@ -3898,7 +4108,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3913,7 +4123,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the PubidLiteral parsed or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -3923,7 +4133,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9914"
+NAME="AEN12790"
 ></A
 ><H3
 ><A
@@ -3951,6 +4161,11 @@
 >parse a CharData section.
 if we are within a CDATA section ']]&gt;' marks an end of section.</P
 ><P
+>The right angle bracket (&gt;) may be represented using the string "&amp;gt;",
+and must, for compatibility, be escaped using "&amp;gt;" or a character
+reference when it appears in the string "]]&gt;" in content, when that
+string is not marking the end of a CDATA section. </P
+><P
 >[14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</P
 ><P
 ></P
@@ -3980,7 +4195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3997,7 +4212,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  int indicating whether we are within a CDATA section</TD
 ></TR
 ></TABLE
 ><P
@@ -4007,7 +4222,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9935"
+NAME="AEN12812"
 ></A
 ><H3
 ><A
@@ -4076,7 +4291,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4093,7 +4308,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a xmlChar** receiving PubidLiteral</TD
 ></TR
 ><TR
 ><TD
@@ -4110,7 +4325,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> indicate whether we should restrict parsing to only
+production [75], see NOTE below</TD
 ></TR
 ><TR
 ><TD
@@ -4125,7 +4341,9 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the function returns SystemLiteral and in the second
+case publicID receives PubidLiteral, is strict is off
+it is possible to return NULL and have publicID set.</TD
 ></TR
 ></TABLE
 ><P
@@ -4135,7 +4353,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9968"
+NAME="AEN12845"
 ></A
 ><H3
 ><A
@@ -4192,7 +4410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4202,7 +4420,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9985"
+NAME="AEN12862"
 ></A
 ><H3
 ><A
@@ -4260,7 +4478,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4275,7 +4493,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the PITarget name or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4285,7 +4503,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10007"
+NAME="AEN12884"
 ></A
 ><H3
 ><A
@@ -4342,7 +4560,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4352,7 +4570,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10025"
+NAME="AEN12902"
 ></A
 ><H3
 ><A
@@ -4417,7 +4635,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4427,7 +4645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10045"
+NAME="AEN12922"
 ></A
 ><H3
 ><A
@@ -4495,7 +4713,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4505,7 +4723,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10068"
+NAME="AEN12945"
 ></A
 ><H3
 ><A
@@ -4601,7 +4819,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4618,7 +4836,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  Receive a possible fixed default value for the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -4633,7 +4851,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
+or XML_ATTRIBUTE_FIXED. </TD
 ></TR
 ></TABLE
 ><P
@@ -4643,7 +4862,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10105"
+NAME="AEN12982"
 ></A
 ><H3
 ><A
@@ -4707,7 +4926,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4722,7 +4941,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the notation attribute tree built while parsing</TD
 ></TR
 ></TABLE
 ><P
@@ -4732,7 +4951,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10129"
+NAME="AEN13006"
 ></A
 ><H3
 ><A
@@ -4794,7 +5013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4809,7 +5028,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the enumeration attribute tree built while parsing</TD
 ></TR
 ></TABLE
 ><P
@@ -4819,7 +5038,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10152"
+NAME="AEN13029"
 ></A
 ><H3
 ><A
@@ -4880,7 +5099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4897,7 +5116,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration tree built while parsing</TD
 ></TR
 ><TR
 ><TD
@@ -4912,7 +5131,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION</TD
 ></TR
 ></TABLE
 ><P
@@ -4922,7 +5141,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10179"
+NAME="AEN13056"
 ></A
 ><H3
 ><A
@@ -4984,13 +5203,13 @@
 ><P
 >[ VC: IDREF ]
 Values of type IDREF must match the Name production, and values
-of type IDREFS must match Names; TODO each IDREF Name must match the value
+of type IDREFS must match Names; each IDREF Name must match the value
 of an ID attribute on some element in the XML document; i.e. IDREF
 values must match the value of some ID attribute.</P
 ><P
 >[ VC: Entity Name ]
 Values of type ENTITY must match the Name production, values
-of type ENTITIES must match Names; TODO each Entity Name must match the
+of type ENTITIES must match Names; each Entity Name must match the
 name of an unparsed entity declared in the DTD.  </P
 ><P
 >[ VC: Name Token ]
@@ -5024,7 +5243,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5041,7 +5260,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration tree built while parsing</TD
 ></TR
 ><TR
 ><TD
@@ -5056,7 +5275,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute type</TD
 ></TR
 ></TABLE
 ><P
@@ -5066,7 +5285,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10217"
+NAME="AEN13094"
 ></A
 ><H3
 ><A
@@ -5123,7 +5342,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5133,7 +5352,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10235"
+NAME="AEN13112"
 ></A
 ><H3
 ><A
@@ -5206,7 +5425,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5221,7 +5440,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the list of the xmlElementContentPtr describing the element choices</TD
 ></TR
 ></TABLE
 ><P
@@ -5231,7 +5450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10261"
+NAME="AEN13138"
 ></A
 ><H3
 ><A
@@ -5308,7 +5527,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5323,7 +5542,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the tree of xmlElementContentPtr describing the element 
+hierarchy.</TD
 ></TR
 ></TABLE
 ><P
@@ -5333,7 +5553,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10287"
+NAME="AEN13164"
 ></A
 ><H3
 ><A
@@ -5397,7 +5617,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5414,7 +5634,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the element being defined.</TD
 ></TR
 ><TR
 ><TD
@@ -5431,7 +5651,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the Element Content pointer will be stored here if any</TD
 ></TR
 ><TR
 ><TD
@@ -5446,7 +5666,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the type of element content XML_ELEMENT_TYPE_xxx</TD
 ></TR
 ></TABLE
 ><P
@@ -5456,7 +5676,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10318"
+NAME="AEN13195"
 ></A
 ><H3
 ><A
@@ -5514,7 +5734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5529,7 +5749,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the type of the element, or -1 in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -5539,7 +5759,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10340"
+NAME="AEN13217"
 ></A
 ><H3
 ><A
@@ -5608,7 +5828,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5618,7 +5838,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10359"
+NAME="AEN13236"
 ></A
 ><H3
 ><A
@@ -5681,7 +5901,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5696,7 +5916,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the value parsed (as an int), 0 in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -5706,7 +5926,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10382"
+NAME="AEN13259"
 ></A
 ><H3
 ><A
@@ -5782,7 +6002,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5797,7 +6017,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEntityPtr if found, or NULL otherwise.</TD
 ></TR
 ></TABLE
 ><P
@@ -5807,7 +6027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10406"
+NAME="AEN13283"
 ></A
 ><H3
 ><A
@@ -5871,7 +6091,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5881,7 +6101,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10425"
+NAME="AEN13302"
 ></A
 ><H3
 ><A
@@ -5957,7 +6177,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5967,7 +6187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10446"
+NAME="AEN13323"
 ></A
 ><H3
 ><A
@@ -6027,7 +6247,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6037,7 +6257,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10464"
+NAME="AEN13341"
 ></A
 ><H3
 ><A
@@ -6120,7 +6340,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6137,7 +6357,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a xmlChar ** used to store the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -6152,7 +6372,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute name, and the value in *value.</TD
 ></TR
 ></TABLE
 ><P
@@ -6162,7 +6382,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10498"
+NAME="AEN13375"
 ></A
 ><H3
 ><A
@@ -6237,7 +6457,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6252,7 +6472,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the element name parsed</TD
 ></TR
 ></TABLE
 ><P
@@ -6262,7 +6482,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10526"
+NAME="AEN13403"
 ></A
 ><H3
 ><A
@@ -6321,7 +6541,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6331,7 +6551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10545"
+NAME="AEN13422"
 ></A
 ><H3
 ><A
@@ -6392,7 +6612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6402,7 +6622,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10565"
+NAME="AEN13442"
 ></A
 ><H3
 ><A
@@ -6457,7 +6677,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6467,7 +6687,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10582"
+NAME="AEN13459"
 ></A
 ><H3
 ><A
@@ -6539,7 +6759,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6549,7 +6769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10601"
+NAME="AEN13478"
 ></A
 ><H3
 ><A
@@ -6607,7 +6827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6622,7 +6842,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the string giving the XML version number, or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6632,7 +6852,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10623"
+NAME="AEN13500"
 ></A
 ><H3
 ><A
@@ -6692,7 +6912,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6707,7 +6927,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the version string, e.g. "1.0"</TD
 ></TR
 ></TABLE
 ><P
@@ -6717,7 +6937,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10646"
+NAME="AEN13523"
 ></A
 ><H3
 ><A
@@ -6775,7 +6995,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6790,7 +7010,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the encoding name value or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6800,7 +7020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10668"
+NAME="AEN13545"
 ></A
 ><H3
 ><A
@@ -6860,7 +7080,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6875,7 +7095,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the encoding value or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6885,7 +7105,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10691"
+NAME="AEN13568"
 ></A
 ><H3
 ><A
@@ -6955,7 +7175,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6970,7 +7190,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if standalone, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -6980,7 +7200,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10713"
+NAME="AEN13590"
 ></A
 ><H3
 ><A
@@ -7035,7 +7255,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -7045,7 +7265,74 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10730"
+NAME="AEN13607"
+></A
+><H3
+><A
+NAME="XMLPARSETEXTDECL"
+></A
+>xmlParseTextDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParseTextDecl                (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an XML declaration header for external entities</P
+><P
+>[77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</P
+><P
+>Question: Seems that EncodingDecl is mandatory ? Is that a typo ?</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13625"
 ></A
 ><H3
 ><A
@@ -7100,7 +7387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -7110,7 +7397,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10747"
+NAME="AEN13642"
 ></A
 ><H3
 ><A
@@ -7175,7 +7462,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7192,7 +7479,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the external identifier</TD
 ></TR
 ><TR
 ><TD
@@ -7209,7 +7496,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the system identifier (or URL)</TD
 ></TR
 ></TABLE
 ><P
@@ -7219,7 +7506,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10775"
+NAME="AEN13670"
 ></A
 ><H3
 ><A
@@ -7235,7 +7522,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_NONE</PRE
+>#define XML_SUBSTITUTE_NONE	0</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7245,7 +7532,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10780"
+NAME="AEN13675"
 ></A
 ><H3
 ><A
@@ -7261,7 +7548,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_REF</PRE
+>#define XML_SUBSTITUTE_REF	1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7271,7 +7558,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10785"
+NAME="AEN13680"
 ></A
 ><H3
 ><A
@@ -7287,7 +7574,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_PEREF</PRE
+>#define XML_SUBSTITUTE_PEREF	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7297,7 +7584,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10790"
+NAME="AEN13685"
 ></A
 ><H3
 ><A
@@ -7313,7 +7600,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_BOTH</PRE
+>#define XML_SUBSTITUTE_BOTH 	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7323,7 +7610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10795"
+NAME="AEN13690"
 ></A
 ><H3
 ><A
@@ -7395,7 +7682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7412,7 +7699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the len to decode (in bytes !), -1 for no size limit</TD
 ></TR
 ><TR
 ><TD
@@ -7429,7 +7716,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
 ></TR
 ><TR
 ><TD
@@ -7446,7 +7733,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker xmlChar, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7463,7 +7750,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker xmlChar, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7480,7 +7767,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker xmlChar, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7495,7 +7782,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done. The caller
+must deallocate it !</TD
 ></TR
 ></TABLE
 ><P
@@ -7505,7 +7793,193 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10840"
+NAME="AEN13735"
+></A
+><H3
+><A
+NAME="XMLSTRINGDECODEENTITIES"
+></A
+>xmlStringDecodeEntities ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlStringDecodeEntities         (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end3);</PRE
+></TD
+></TR
+></TABLE
+><P
+>[67] Reference ::= EntityRef | CharRef</P
+><P
+>[69] PEReference ::= '%' Name ';'</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the parser context</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"
+>  the input string</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>what</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end3</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>A newly allocated string with the substitution done. The caller
+must deallocate it !</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN13781"
 ></A
 ><H3
 ><A
@@ -7602,7 +8076,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10864"
+NAME="AEN13805"
 ></A
 ><H3
 ><A
@@ -7681,7 +8155,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10884"
+NAME="AEN13825"
 ></A
 ><H3
 ><A
@@ -7778,7 +8252,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10908"
+NAME="AEN13849"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-sax.html b/doc/html/gnome-xml-sax.html
index 874df5f..e44b704 100644
--- a/doc/html/gnome-xml-sax.html
+++ b/doc/html/gnome-xml-sax.html
@@ -4,7 +4,7 @@
 >SAX</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-SAX"
->SAX</A
-></H1
+>SAX</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1857"
+NAME="AEN2340"
 ></A
 ><H2
 >Name</H2
->SAX&nbsp;--&nbsp;</DIV
+>SAX &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1860"
+NAME="AEN2343"
 ></A
 ><H2
 >Synopsis</H2
@@ -492,7 +486,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1948"
+NAME="AEN2431"
 ></A
 ><H2
 >Description</H2
@@ -502,14 +496,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1951"
+NAME="AEN2434"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1953"
+NAME="AEN2436"
 ></A
 ><H3
 ><A
@@ -535,7 +529,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1958"
+NAME="AEN2441"
 ></A
 ><H3
 ><A
@@ -613,7 +607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1978"
+NAME="AEN2461"
 ></A
 ><H3
 ><A
@@ -692,7 +686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1998"
+NAME="AEN2481"
 ></A
 ><H3
 ><A
@@ -774,7 +768,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2018"
+NAME="AEN2501"
 ></A
 ><H3
 ><A
@@ -849,7 +843,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2037"
+NAME="AEN2520"
 ></A
 ><H3
 ><A
@@ -924,7 +918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2056"
+NAME="AEN2539"
 ></A
 ><H3
 ><A
@@ -999,7 +993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2075"
+NAME="AEN2558"
 ></A
 ><H3
 ><A
@@ -1074,7 +1068,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2094"
+NAME="AEN2577"
 ></A
 ><H3
 ><A
@@ -1149,7 +1143,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2113"
+NAME="AEN2596"
 ></A
 ><H3
 ><A
@@ -1182,7 +1176,7 @@
 ></TR
 ></TABLE
 ><P
->Does this document has an internal subset</P
+>Callback on internal subset declaration.</P
 ><P
 ></P
 ><DIV
@@ -1211,7 +1205,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the user data (XML parser context)</TD
+>  the user data (XML parser context)</TD
 ></TR
 ><TR
 ><TD
@@ -1228,7 +1222,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the root element name</TD
 ></TR
 ><TR
 ><TD
@@ -1245,7 +1239,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the external ID</TD
 ></TR
 ><TR
 ><TD
@@ -1262,7 +1256,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SYSTEM ID (e.g. filename or URL)</TD
 ></TR
 ></TABLE
 ><P
@@ -1272,7 +1266,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2143"
+NAME="AEN2626"
 ></A
 ><H3
 ><A
@@ -1371,7 +1365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2168"
+NAME="AEN2651"
 ></A
 ><H3
 ><A
@@ -1470,7 +1464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2193"
+NAME="AEN2676"
 ></A
 ><H3
 ><A
@@ -1502,11 +1496,17 @@
 ></TR
 ></TABLE
 ><P
->Special entity resolver, better left to the parser, it has
-more context than the application layer.
-The default behaviour is to NOT resolve the entities, in that case
-the ENTITY_REF nodes are built in the structure (and the parameter
-values).</P
+>The entity loader, to control the loading of external entities,
+the application can either:
+- override this <A
+HREF="gnome-xml-sax.html#RESOLVEENTITY"
+>resolveEntity</A
+>() callback in the SAX block
+- or better use the <A
+HREF="gnome-xml-parser.html#XMLSETEXTERNALENTITYLOADER"
+>xmlSetExternalEntityLoader</A
+>() function to
+set up it's own entity resolution routine</P
 ><P
 ></P
 ><DIV
@@ -1594,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2223"
+NAME="AEN2708"
 ></A
 ><H3
 ><A
@@ -1756,7 +1756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2262"
+NAME="AEN2747"
 ></A
 ><H3
 ><A
@@ -1841,7 +1841,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the element</TD
 ></TR
 ><TR
 ><TD
@@ -1858,7 +1858,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1892,7 +1892,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the type of default value</TD
 ></TR
 ><TR
 ><TD
@@ -1909,7 +1909,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the attribute default value</TD
 ></TR
 ><TR
 ><TD
@@ -1926,7 +1926,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tree of enumerated value set</TD
 ></TR
 ></TABLE
 ><P
@@ -1936,7 +1936,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2305"
+NAME="AEN2790"
 ></A
 ><H3
 ><A
@@ -2046,7 +2046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the element value (without processing).</TD
+> the element value tree</TD
 ></TR
 ></TABLE
 ><P
@@ -2056,7 +2056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2334"
+NAME="AEN2819"
 ></A
 ><H3
 ><A
@@ -2179,7 +2179,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2364"
+NAME="AEN2849"
 ></A
 ><H3
 ><A
@@ -2323,7 +2323,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2399"
+NAME="AEN2884"
 ></A
 ><H3
 ><A
@@ -2383,7 +2383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2414"
+NAME="AEN2899"
 ></A
 ><H3
 ><A
@@ -2443,7 +2443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2429"
+NAME="AEN2914"
 ></A
 ><H3
 ><A
@@ -2521,7 +2521,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The attribute name, including namespace prefix</TD
 ></TR
 ><TR
 ><TD
@@ -2548,7 +2548,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2454"
+NAME="AEN2939"
 ></A
 ><H3
 ><A
@@ -2623,7 +2623,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The element name, including namespace prefix</TD
 ></TR
 ><TR
 ><TD
@@ -2650,7 +2650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2479"
+NAME="AEN2964"
 ></A
 ><H3
 ><A
@@ -2731,7 +2731,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2499"
+NAME="AEN2984"
 ></A
 ><H3
 ><A
@@ -2812,7 +2812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2519"
+NAME="AEN3004"
 ></A
 ><H3
 ><A
@@ -2912,7 +2912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2543"
+NAME="AEN3028"
 ></A
 ><H3
 ><A
@@ -3012,7 +3012,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2567"
+NAME="AEN3052"
 ></A
 ><H3
 ><A
@@ -3114,7 +3114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2592"
+NAME="AEN3077"
 ></A
 ><H3
 ><A
@@ -3216,7 +3216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2617"
+NAME="AEN3102"
 ></A
 ><H3
 ><A
@@ -3297,7 +3297,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2637"
+NAME="AEN3122"
 ></A
 ><H3
 ><A
@@ -3365,7 +3365,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlNsPtr or NULL if none</TD
 ></TR
 ></TABLE
 ><P
@@ -3375,7 +3375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2657"
+NAME="AEN3142"
 ></A
 ><H3
 ><A
@@ -3462,7 +3462,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if true 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3472,7 +3472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2681"
+NAME="AEN3166"
 ></A
 ><H3
 ><A
@@ -3574,7 +3574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2706"
+NAME="AEN3191"
 ></A
 ><H3
 ><A
@@ -3655,7 +3655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2726"
+NAME="AEN3211"
 ></A
 ><H3
 ><A
@@ -3754,7 +3754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2750"
+NAME="AEN3235"
 ></A
 ><H3
 ><A
@@ -3782,7 +3782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2756"
+NAME="AEN3241"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index c1a4e98..6599b12 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -4,7 +4,7 @@
 >tree</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-TREE"
->tree</A
-></H1
+>tree</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2767"
+NAME="AEN3252"
 ></A
 ><H2
 >Name</H2
->tree&nbsp;--&nbsp;</DIV
+>tree &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2770"
+NAME="AEN3255"
 ></A
 ><H2
 >Synopsis</H2
@@ -160,6 +154,10 @@
 HREF="gnome-xml-tree.html#BAD-CAST"
 >BAD_CAST</A
 >
+struct      <A
+HREF="gnome-xml-tree.html#XMLNOTATION"
+>xmlNotation</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
 >xmlNotationPtr</A
@@ -172,10 +170,18 @@
 HREF="gnome-xml-tree.html#XMLATTRIBUTEDEFAULT"
 >xmlAttributeDefault</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLENUMERATION"
+>xmlEnumeration</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLENUMERATIONPTR"
 >xmlEnumerationPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLATTRIBUTE"
+>xmlAttribute</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
 >xmlAttributePtr</A
@@ -188,6 +194,10 @@
 HREF="gnome-xml-tree.html#XMLELEMENTCONTENTOCCUR"
 >xmlElementContentOccur</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENT"
+>xmlElementContent</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
 >xmlElementContentPtr</A
@@ -196,6 +206,10 @@
 HREF="gnome-xml-tree.html#XMLELEMENTTYPEVAL"
 >xmlElementTypeVal</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLELEMENT"
+>xmlElement</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
@@ -204,26 +218,58 @@
 HREF="gnome-xml-tree.html#XMLNSTYPE"
 >xmlNsType</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLNS"
+>xmlNs</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLNSPTR"
 >xmlNsPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLDTD"
+>xmlDtd</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
 >xmlDtdPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLATTR"
+>xmlAttr</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLATTRPTR"
 >xmlAttrPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLID"
+>xmlID</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLIDPTR"
 >xmlIDPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLREF"
+>xmlRef</A
+>;
 typedef     <A
 HREF="gnome-xml-tree.html#XMLREFPTR"
 >xmlRefPtr</A
 >;
+enum        <A
+HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
+>xmlBufferAllocationScheme</A
+>;
+struct      <A
+HREF="gnome-xml-tree.html#XMLBUFFER"
+>xmlBuffer</A
+>;
+typedef     <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+>;
 struct      <A
 HREF="gnome-xml-tree.html#XMLNODE"
 >xmlNode</A
@@ -240,14 +286,14 @@
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 >;
-struct      <A
-HREF="gnome-xml-tree.html#XMLBUFFER"
->xmlBuffer</A
->;
-typedef     <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
->;
+#define     <A
+HREF="gnome-xml-tree.html#XMLCHILDRENNODE"
+>xmlChildrenNode</A
+>
+#define     <A
+HREF="gnome-xml-tree.html#XMLROOTNODE"
+>xmlRootNode</A
+>
 extern      xmlNsPtr <A
 HREF="gnome-xml-tree.html#BASEDTD"
 >baseDTD</A
@@ -260,6 +306,14 @@
 HREF="gnome-xml-tree.html#XMLINDENTTREEOUTPUT"
 >xmlIndentTreeOutput</A
 >;
+extern      xmlBufferAllocationScheme <A
+HREF="gnome-xml-tree.html#XMLBUFFERALLOCSCHEME"
+>xmlBufferAllocScheme</A
+>;
+extern      int <A
+HREF="gnome-xml-tree.html#XMLSAVENOEMPTYTAGS"
+>xmlSaveNoEmptyTags</A
+>;
 <A
 HREF="gnome-xml-tree.html#XMLBUFFERPTR"
 >xmlBufferPtr</A
@@ -267,6 +321,16 @@
 HREF="gnome-xml-tree.html#XMLBUFFERCREATE"
 >xmlBufferCreate</A
 >                (void);
+<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> <A
+HREF="gnome-xml-tree.html#XMLBUFFERCREATESIZE"
+>xmlBufferCreateSize</A
+>            (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size);
 void        <A
 HREF="gnome-xml-tree.html#XMLBUFFERFREE"
 >xmlBufferFree</A
@@ -298,6 +362,18 @@
 > *str,
                                              int len);
 void        <A
+HREF="gnome-xml-tree.html#XMLBUFFERADDHEAD"
+>xmlBufferAddHead</A
+>                (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int len);
+void        <A
 HREF="gnome-xml-tree.html#XMLBUFFERCAT"
 >xmlBufferCat</A
 >                    (<A
@@ -324,6 +400,14 @@
 >xmlBufferPtr</A
 > buf,
                                              int len);
+int         <A
+HREF="gnome-xml-tree.html#XMLBUFFERGROW"
+>xmlBufferGrow</A
+>                   (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             int len);
 void        <A
 HREF="gnome-xml-tree.html#XMLBUFFEREMPTY"
 >xmlBufferEmpty</A
@@ -331,6 +415,41 @@
 HREF="gnome-xml-tree.html#XMLBUFFERPTR"
 >xmlBufferPtr</A
 > buf);
+const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>* <A
+HREF="gnome-xml-tree.html#XMLBUFFERCONTENT"
+>xmlBufferContent</A
+>             (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);
+int         <A
+HREF="gnome-xml-tree.html#XMLBUFFERUSE"
+>xmlBufferUse</A
+>                    (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);
+void        <A
+HREF="gnome-xml-tree.html#XMLBUFFERSETALLOCATIONSCHEME"
+>xmlBufferSetAllocationScheme</A
+>    (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
+>xmlBufferAllocationScheme</A
+> scheme);
+int         <A
+HREF="gnome-xml-tree.html#XMLBUFFERLENGTH"
+>xmlBufferLength</A
+>                 (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);
 <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
 >xmlDtdPtr</A
@@ -589,6 +708,28 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWDOCRAWNODE"
+>xmlNewDocRawNode</A
+>                (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *content);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLNEWNODE"
 >xmlNewNode</A
 >                      (<A
@@ -625,6 +766,28 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWTEXTCHILD"
+>xmlNewTextChild</A
+>                 (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> parent,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *content);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLNEWDOCTEXT"
 >xmlNewDocText</A
 >                   (<A
@@ -728,6 +891,20 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWCHARREF"
+>xmlNewCharRef</A
+>                   (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLNEWREFERENCE"
 >xmlNewReference</A
 >                 (<A
@@ -763,6 +940,26 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWDOCFRAGMENT"
+>xmlNewDocFragment</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLDOCGETROOTELEMENT"
+>xmlDocGetRootElement</A
+>            (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLGETLASTCHILD"
 >xmlGetLastChild</A
 >                 (<A
@@ -776,6 +973,38 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > node);
+int         <A
+HREF="gnome-xml-tree.html#XMLISBLANKNODE"
+>xmlIsBlankNode</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLDOCSETROOTELEMENT"
+>xmlDocSetRootElement</A
+>            (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> root);
+void        <A
+HREF="gnome-xml-tree.html#XMLNODESETNAME"
+>xmlNodeSetName</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
 <A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
@@ -794,6 +1023,20 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLREPLACENODE"
+>xmlReplaceNode</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> old,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLADDSIBLING"
 >xmlAddSibling</A
 >                   (<A
@@ -804,6 +1047,34 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > elem);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLADDPREVSIBLING"
+>xmlAddPrevSibling</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLADDNEXTSIBLING"
+>xmlAddNextSibling</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);
 void        <A
 HREF="gnome-xml-tree.html#XMLUNLINKNODE"
 >xmlUnlinkNode</A
@@ -965,6 +1236,24 @@
 >xmlChar</A
 > *name);
 <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-tree.html#XMLGETNSPROP"
+>xmlGetNsProp</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *nameSpace);
+<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
@@ -1008,6 +1297,21 @@
 >xmlNodePtr</A
 > list,
                                              int inLine);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-tree.html#XMLNODELISTGETRAWSTRING"
+>xmlNodeListGetRawString</A
+>         (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> list,
+                                             int inLine);
 void        <A
 HREF="gnome-xml-tree.html#XMLNODESETCONTENT"
 >xmlNodeSetContent</A
@@ -1086,6 +1390,27 @@
 >xmlChar</A
 > *lang);
 int         <A
+HREF="gnome-xml-tree.html#XMLNODEGETSPACEPRESERVE"
+>xmlNodeGetSpacePreserve</A
+>         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-tree.html#XMLNODEGETBASE"
+>xmlNodeGetBase</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
+int         <A
 HREF="gnome-xml-tree.html#XMLREMOVEPROP"
 >xmlRemoveProp</A
 >                   (<A
@@ -1129,6 +1454,17 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *string);
+int         <A
+HREF="gnome-xml-tree.html#XMLRECONCILIATENS"
+>xmlReconciliateNs</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> tree);
 void        <A
 HREF="gnome-xml-tree.html#XMLDOCDUMPMEMORY"
 >xmlDocDumpMemory</A
@@ -1141,7 +1477,7 @@
 >xmlChar</A
 > **mem,
                                              int *size);
-void        <A
+int         <A
 HREF="gnome-xml-tree.html#XMLDOCDUMP"
 >xmlDocDump</A
 >                      (<GTKDOCLINK
@@ -1152,6 +1488,21 @@
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > cur);
+void        <A
+HREF="gnome-xml-tree.html#XMLELEMDUMP"
+>xmlElemDump</A
+>                     (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *f,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
 int         <A
 HREF="gnome-xml-tree.html#XMLSAVEFILE"
 >xmlSaveFile</A
@@ -1161,6 +1512,15 @@
 >xmlDocPtr</A
 > cur);
 int         <A
+HREF="gnome-xml-tree.html#XMLSAVEFILEENC"
+>xmlSaveFileEnc</A
+>                  (const char *filename,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding);
+int         <A
 HREF="gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE"
 >xmlGetDocCompressMode</A
 >           (<A
@@ -1190,7 +1550,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3058"
+NAME="AEN3643"
 ></A
 ><H2
 >Description</H2
@@ -1200,14 +1560,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3061"
+NAME="AEN3646"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3063"
+NAME="AEN3648"
 ></A
 ><H3
 ><A
@@ -1251,20 +1611,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3068"
+NAME="AEN3653"
 ></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
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3072"
+NAME="AEN3658"
 ></A
 ><H3
 ><A
@@ -1280,7 +1653,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     CHAR</PRE
+>#define CHAR xmlChar</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1290,7 +1663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3077"
+NAME="AEN3663"
 ></A
 ><H3
 ><A
@@ -1306,7 +1679,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     BAD_CAST</PRE
+>#define BAD_CAST (xmlChar *)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1316,20 +1689,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3082"
+NAME="AEN3668"
 ></A
 ><H3
 ><A
-NAME="XMLNOTATIONPTR"
+NAME="XMLNOTATION"
 ></A
->xmlNotationPtr</H3
+>struct xmlNotation</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlNotation {
+    const xmlChar               *name;	/* Notation name */
+    const xmlChar               *PublicID;	/* Public identifier, if any */
+    const xmlChar               *SystemID;	/* System identifier, if any */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3086"
+NAME="AEN3673"
+></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="AEN3678"
 ></A
 ><H3
 ><A
@@ -1366,7 +1782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3091"
+NAME="AEN3683"
 ></A
 ><H3
 ><A
@@ -1397,33 +1813,134 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3096"
+NAME="AEN3688"
+></A
+><H3
+><A
+NAME="XMLENUMERATION"
+></A
+>struct xmlEnumeration</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlEnumeration {
+    struct _xmlEnumeration    *next;	/* next one */
+    const xmlChar            *name;	/* Enumeration name */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3693"
 ></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="AEN3100"
+NAME="AEN3698"
+></A
+><H3
+><A
+NAME="XMLATTRIBUTE"
+></A
+>struct xmlAttribute</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlAttribute {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ATTRIBUTE_DECL, must be second ! */
+    const xmlChar          *name;	/* Attribute name */
+    struct _xmlNode    *children;	/* NULL */
+    struct _xmlNode        *last;	/* NULL */
+    struct _xmlDtd       *parent;	/* -&gt; DTD */
+    struct _xmlNode        *next;	/* next sibling link  */
+    struct _xmlNode        *prev;	/* previous sibling link  */
+    struct _xmlDoc          *doc;       /* the containing document */
+
+    struct _xmlAttribute  *nexth;	/* next in hash table */
+    xmlAttributeType       atype;	/* The attribute type */
+    xmlAttributeDefault      def;	/* the default */
+    const xmlChar  *defaultValue;	/* or the default value */
+    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
+    const xmlChar        *prefix;	/* the namespace prefix if any */
+    const xmlChar          *elem;	/* Element holding the attribute */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3703"
 ></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="AEN3104"
+NAME="AEN3708"
 ></A
 ><H3
 ><A
@@ -1454,7 +1971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3109"
+NAME="AEN3713"
 ></A
 ><H3
 ><A
@@ -1485,20 +2002,65 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3114"
+NAME="AEN3718"
 ></A
 ><H3
 ><A
-NAME="XMLELEMENTCONTENTPTR"
+NAME="XMLELEMENTCONTENT"
 ></A
->xmlElementContentPtr</H3
+>struct xmlElementContent</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlElementContent {
+    xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
+    xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
+    const xmlChar            *name;	/* Element name */
+    struct _xmlElementContent *c1;	/* first child */
+    struct _xmlElementContent *c2;	/* second child */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3118"
+NAME="AEN3723"
+></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="AEN3728"
 ></A
 ><H3
 ><A
@@ -1529,20 +2091,76 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3123"
+NAME="AEN3733"
 ></A
 ><H3
 ><A
-NAME="XMLELEMENTPTR"
+NAME="XMLELEMENT"
 ></A
->xmlElementPtr</H3
+>struct xmlElement</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlElement {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
+    const xmlChar          *name;	/* Element name */
+    struct _xmlNode    *children;	/* NULL */
+    struct _xmlNode        *last;	/* NULL */
+    struct _xmlDtd       *parent;	/* -&gt; DTD */
+    struct _xmlNode        *next;	/* next sibling link  */
+    struct _xmlNode        *prev;	/* previous sibling link  */
+    struct _xmlDoc          *doc;       /* the containing document */
+
+    xmlElementTypeVal      etype;	/* The type */
+    xmlElementContentPtr content;	/* the allowed element content */
+    xmlAttributePtr   attributes;	/* List of the declared attributes */
+    const xmlChar        *prefix;	/* the namespace prefix if any */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3127"
+NAME="AEN3738"
+></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="AEN3743"
 ></A
 ><H3
 ><A
@@ -1571,72 +2189,400 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3132"
+NAME="AEN3748"
+></A
+><H3
+><A
+NAME="XMLNS"
+></A
+>struct xmlNs</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlNs {
+    struct _xmlNs  *next;	/* next Ns link for this node  */
+    xmlNsType      type;	/* global or local */
+    const xmlChar *href;	/* URL for the namespace */
+    const xmlChar *prefix;	/* prefix for the namespace */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3753"
 ></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="AEN3136"
+NAME="AEN3758"
+></A
+><H3
+><A
+NAME="XMLDTD"
+></A
+>struct xmlDtd</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlDtd {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+#endif
+    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
+    const xmlChar *name;	/* Name of the DTD */
+    struct _xmlNode *children;	/* the value of the property link */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlDoc  *parent;	/* child-&gt;parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlDoc  *doc;	/* the containing document */
+
+    /* End of common part */
+    void          *notations;   /* Hash table for notations if any */
+    void          *elements;    /* Hash table for elements if any */
+    void          *attributes;  /* Hash table for attributes if any */
+    void          *entities;    /* Hash table for entities if any */
+    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
+    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3763"
 ></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="AEN3140"
+NAME="AEN3768"
+></A
+><H3
+><A
+NAME="XMLATTR"
+></A
+>struct xmlAttr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlAttr {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+#endif
+    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
+    const xmlChar   *name;      /* the name of the property */
+    struct _xmlNode *children;	/* the value of the property */
+    struct _xmlNode *last;	/* NULL */
+    struct _xmlNode *parent;	/* child-&gt;parent link */
+    struct _xmlAttr *next;	/* next sibling link  */
+    struct _xmlAttr *prev;	/* previous sibling link  */
+    struct _xmlDoc  *doc;	/* the containing document */
+    xmlNs           *ns;        /* pointer to the associated namespace */
+    xmlAttributeType atype;     /* the attribute type if validating */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3773"
 ></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="AEN3144"
+NAME="AEN3778"
+></A
+><H3
+><A
+NAME="XMLID"
+></A
+>struct xmlID</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlID {
+    struct _xmlID    *next;	/* next ID */
+    const xmlChar    *value;	/* The ID name */
+    xmlAttrPtr        attr;	/* The attribut holding it */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3783"
 ></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="AEN3148"
+NAME="AEN3788"
+></A
+><H3
+><A
+NAME="XMLREF"
+></A
+>struct xmlRef</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlRef {
+    struct _xmlRef    *next;	/* next Ref */
+    const xmlChar     *value;	/* The Ref name */
+    xmlAttrPtr        attr;	/* The attribut holding it */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3793"
 ></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="AEN3152"
+NAME="AEN3798"
+></A
+><H3
+><A
+NAME="XMLBUFFERALLOCATIONSCHEME"
+></A
+>enum xmlBufferAllocationScheme</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef enum {
+    XML_BUFFER_ALLOC_DOUBLEIT,
+    XML_BUFFER_ALLOC_EXACT
+} xmlBufferAllocationScheme;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3803"
+></A
+><H3
+><A
+NAME="XMLBUFFER"
+></A
+>struct xmlBuffer</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlBuffer {
+    xmlChar *content;		/* The buffer content UTF8 */
+    unsigned int use;		/* The buffer size used */
+    unsigned int size;		/* The buffer size */
+    xmlBufferAllocationScheme alloc; /* The realloc method */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3808"
+></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="AEN3813"
 ></A
 ><H3
 ><A
@@ -1684,20 +2630,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3157"
+NAME="AEN3818"
 ></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="AEN3161"
+NAME="AEN3823"
 ></A
 ><H3
 ><A
@@ -1733,10 +2692,12 @@
     struct _xmlDtd  *extSubset;	/* the document external subset */
     struct _xmlNs   *oldNs;	/* Global namespace, the old way */
     const xmlChar  *version;	/* the XML version string */
-    const xmlChar  *encoding;   /* encoding, if any */
+    const xmlChar  *encoding;   /* external initial encoding, if any */
     void           *ids;        /* Hash table for ID attributes if any */
     void           *refs;       /* Hash table for IDREFs attributes if any */
     const xmlChar  *URL;	/* The URI for that document */
+    int             charset;    /* encoding of the in-memory content
+				   actually an xmlCharEncoding */
 };</PRE
 ></TD
 ></TR
@@ -1747,26 +2708,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3166"
+NAME="AEN3828"
 ></A
 ><H3
 ><A
 NAME="XMLDOCPTR"
 ></A
 >xmlDocPtr</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3170"
-></A
-><H3
-><A
-NAME="XMLBUFFER"
-></A
->struct xmlBuffer</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1776,12 +2724,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->struct xmlBuffer {
-    xmlChar *content;		/* The buffer content UTF8 */
-    unsigned int use;		/* The buffer size used */
-    unsigned int size;		/* The buffer size */
-    xmlBufferAllocationScheme alloc; /* The realloc method */
-};</PRE
+>typedef xmlDoc *xmlDocPtr;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1791,20 +2734,59 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3175"
+NAME="AEN3833"
 ></A
 ><H3
 ><A
-NAME="XMLBUFFERPTR"
+NAME="XMLCHILDRENNODE"
 ></A
->xmlBufferPtr</H3
+>xmlChildrenNode</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlChildrenNode children</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3179"
+NAME="AEN3838"
+></A
+><H3
+><A
+NAME="XMLROOTNODE"
+></A
+>xmlRootNode</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlRootNode children</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3843"
 ></A
 ><H3
 ><A
@@ -1830,7 +2812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3184"
+NAME="AEN3848"
 ></A
 ><H3
 ><A
@@ -1856,7 +2838,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3189"
+NAME="AEN3853"
 ></A
 ><H3
 ><A
@@ -1882,7 +2864,59 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3194"
+NAME="AEN3858"
+></A
+><H3
+><A
+NAME="XMLBUFFERALLOCSCHEME"
+></A
+>xmlBufferAllocScheme</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlBufferAllocationScheme xmlBufferAllocScheme; /* alloc scheme to use */</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3863"
+></A
+><H3
+><A
+NAME="XMLSAVENOEMPTYTAGS"
+></A
+>xmlSaveNoEmptyTags</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern int xmlSaveNoEmptyTags;   /* save empty tags as &lt;empty&gt;&lt;/empty&gt; */</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3868"
 ></A
 ><H3
 ><A
@@ -1933,7 +2967,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new structure.</TD
 ></TR
 ></TABLE
 ><P
@@ -1943,7 +2977,88 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3210"
+NAME="AEN3884"
+></A
+><H3
+><A
+NAME="XMLBUFFERCREATESIZE"
+></A
+>xmlBufferCreateSize ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> xmlBufferCreateSize            (<GTKDOCLINK
+HREF="SIZE-T"
+>size_t</GTKDOCLINK
+> size);</PRE
+></TD
+></TR
+></TABLE
+><P
+>routine to create an XML buffer.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> initial size of buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new structure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3905"
 ></A
 ><H3
 ><A
@@ -1996,7 +3111,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to free</TD
 ></TR
 ></TABLE
 ><P
@@ -2006,7 +3121,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3226"
+NAME="AEN3921"
 ></A
 ><H3
 ><A
@@ -2063,7 +3178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the file output</TD
 ></TR
 ><TR
 ><TD
@@ -2080,7 +3195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2095,7 +3210,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of xmlChar written</TD
 ></TR
 ></TABLE
 ><P
@@ -2105,7 +3220,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3251"
+NAME="AEN3946"
 ></A
 ><H3
 ><A
@@ -2164,7 +3279,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2181,7 +3296,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar string</TD
 ></TR
 ><TR
 ><TD
@@ -2198,7 +3313,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the number of xmlChar to add</TD
 ></TR
 ></TABLE
 ><P
@@ -2208,7 +3323,115 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3276"
+NAME="AEN3971"
+></A
+><H3
+><A
+NAME="XMLBUFFERADDHEAD"
+></A
+>xmlBufferAddHead ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferAddHead                (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add a string range to the beginning of an XML buffer.
+if len == -1, the lenght of <TT
+CLASS="PARAMETER"
+><I
+>str</I
+></TT
+> is recomputed.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the buffer</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"
+>  the xmlChar string</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the number of xmlChar to add</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3997"
 ></A
 ><H3
 ><A
@@ -2265,7 +3488,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2282,7 +3505,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the xmlChar string</TD
 ></TR
 ></TABLE
 ><P
@@ -2292,7 +3515,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3297"
+NAME="AEN4018"
 ></A
 ><H3
 ><A
@@ -2346,7 +3569,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2363,7 +3586,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the C char string</TD
 ></TR
 ></TABLE
 ><P
@@ -2373,7 +3596,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3317"
+NAME="AEN4038"
 ></A
 ><H3
 ><A
@@ -2427,7 +3650,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2444,7 +3667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the number of xmlChar to remove</TD
 ></TR
 ><TR
 ><TD
@@ -2459,7 +3682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of xmlChar removed, or -1 in case of failure.</TD
 ></TR
 ></TABLE
 ><P
@@ -2469,7 +3692,103 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3341"
+NAME="AEN4062"
+></A
+><H3
+><A
+NAME="XMLBUFFERGROW"
+></A
+>xmlBufferGrow ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlBufferGrow                   (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Grow the available space of an XML buffer.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the minimum free sie to allocate</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new available space or -1 in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4086"
 ></A
 ><H3
 ><A
@@ -2522,6 +3841,163 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  the buffer</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4102"
+></A
+><H3
+><A
+NAME="XMLBUFFERCONTENT"
+></A
+>xmlBufferContent ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>* xmlBufferContent             (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the buffer to resize</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the internal content</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4123"
+></A
+><H3
+><A
+NAME="XMLBUFFERUSE"
+></A
+>xmlBufferUse ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlBufferUse                    (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</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
 ></TABLE
@@ -2532,7 +4008,169 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3357"
+NAME="AEN4142"
+></A
+><H3
+><A
+NAME="XMLBUFFERSETALLOCATIONSCHEME"
+></A
+>xmlBufferSetAllocationScheme ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferSetAllocationScheme    (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
+>xmlBufferAllocationScheme</A
+> scheme);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Sets the allocation scheme for this buffer</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the buffer to free</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>scheme</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  allocation scheme to use</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4163"
+></A
+><H3
+><A
+NAME="XMLBUFFERLENGTH"
+></A
+>xmlBufferLength ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlBufferLength                 (const <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the buffer </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the length of data in the internal content</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4183"
 ></A
 ><H3
 ><A
@@ -2600,7 +4238,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2617,7 +4255,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD name</TD
 ></TR
 ><TR
 ><TD
@@ -2634,7 +4272,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the external ID</TD
 ></TR
 ><TR
 ><TD
@@ -2651,7 +4289,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system ID</TD
 ></TR
 ><TR
 ><TD
@@ -2666,7 +4304,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new DTD structure</TD
 ></TR
 ></TABLE
 ><P
@@ -2676,7 +4314,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3393"
+NAME="AEN4219"
 ></A
 ><H3
 ><A
@@ -2715,7 +4353,11 @@
 ></TR
 ></TABLE
 ><P
->Creation of a new DTD.</P
+>Creation of a new DTD for the external subset. To create an
+internal subset, use <A
+HREF="gnome-xml-tree.html#XMLCREATEINTSUBSET"
+>xmlCreateIntSubset</A
+>().</P
 ><P
 ></P
 ><DIV
@@ -2744,7 +4386,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2761,7 +4403,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD name</TD
 ></TR
 ><TR
 ><TD
@@ -2778,7 +4420,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the external ID</TD
 ></TR
 ><TR
 ><TD
@@ -2795,7 +4437,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system ID</TD
 ></TR
 ><TR
 ><TD
@@ -2810,7 +4452,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new DTD structure</TD
 ></TR
 ></TABLE
 ><P
@@ -2820,7 +4462,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3429"
+NAME="AEN4256"
 ></A
 ><H3
 ><A
@@ -2873,7 +4515,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD structure to free up</TD
 ></TR
 ></TABLE
 ><P
@@ -2883,7 +4525,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3445"
+NAME="AEN4272"
 ></A
 ><H3
 ><A
@@ -2949,7 +4591,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document carrying the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2966,7 +4608,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI associated</TD
 ></TR
 ><TR
 ><TD
@@ -2983,7 +4625,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the prefix for the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2998,7 +4640,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL this functionnality had been removed</TD
 ></TR
 ></TABLE
 ><P
@@ -3008,7 +4650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3476"
+NAME="AEN4303"
 ></A
 ><H3
 ><A
@@ -3074,7 +4716,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element carrying the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -3091,7 +4733,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI associated</TD
 ></TR
 ><TR
 ><TD
@@ -3108,7 +4750,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the prefix for the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -3123,7 +4765,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>returns a new namespace pointer or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3133,7 +4775,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3507"
+NAME="AEN4334"
 ></A
 ><H3
 ><A
@@ -3186,7 +4828,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -3196,7 +4838,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3523"
+NAME="AEN4350"
 ></A
 ><H3
 ><A
@@ -3252,7 +4894,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  xmlChar string giving the version of XML "1.0"</TD
 ></TR
 ><TR
 ><TD
@@ -3267,7 +4909,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new document</TD
 ></TR
 ></TABLE
 ><P
@@ -3277,7 +4919,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3544"
+NAME="AEN4371"
 ></A
 ><H3
 ><A
@@ -3330,7 +4972,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the document
+@:  </TD
 ></TR
 ></TABLE
 ><P
@@ -3340,7 +4983,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3560"
+NAME="AEN4387"
 ></A
 ><H3
 ><A
@@ -3404,7 +5047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3421,7 +5064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3438,7 +5081,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3453,7 +5096,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3463,7 +5106,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3591"
+NAME="AEN4418"
 ></A
 ><H3
 ><A
@@ -3527,7 +5170,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the holding node</TD
 ></TR
 ><TR
 ><TD
@@ -3544,7 +5187,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3561,7 +5204,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3576,7 +5219,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3586,7 +5229,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3622"
+NAME="AEN4449"
 ></A
 ><H3
 ><A
@@ -3654,7 +5297,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the holding node</TD
 ></TR
 ><TR
 ><TD
@@ -3671,7 +5314,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -3688,7 +5331,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3705,7 +5348,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3720,7 +5363,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3730,7 +5373,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3658"
+NAME="AEN4485"
 ></A
 ><H3
 ><A
@@ -3754,7 +5397,7 @@
 ></TR
 ></TABLE
 ><P
->Free a property and all its siblings, all the childs are freed too.</P
+>Free a property and all its siblings, all the children are freed too.</P
 ><P
 ></P
 ><DIV
@@ -3783,7 +5426,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first property in the list</TD
 ></TR
 ></TABLE
 ><P
@@ -3793,7 +5436,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3674"
+NAME="AEN4501"
 ></A
 ><H3
 ><A
@@ -3846,7 +5489,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3856,7 +5499,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3690"
+NAME="AEN4517"
 ></A
 ><H3
 ><A
@@ -3916,7 +5559,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element where the attribute will be grafted</TD
 ></TR
 ><TR
 ><TD
@@ -3933,7 +5576,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3948,7 +5591,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlAttrPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -3958,7 +5601,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3716"
+NAME="AEN4543"
 ></A
 ><H3
 ><A
@@ -4018,7 +5661,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element where the attributes will be grafted</TD
 ></TR
 ><TR
 ><TD
@@ -4035,7 +5678,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first attribute</TD
 ></TR
 ><TR
 ><TD
@@ -4050,7 +5693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlAttrPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -4060,7 +5703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3742"
+NAME="AEN4569"
 ></A
 ><H3
 ><A
@@ -4116,7 +5759,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the dtd</TD
 ></TR
 ><TR
 ><TD
@@ -4131,7 +5774,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlDtdPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -4141,7 +5784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3763"
+NAME="AEN4590"
 ></A
 ><H3
 ><A
@@ -4199,7 +5842,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -4216,7 +5859,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if 1 do a recursive copy.</TD
 ></TR
 ><TR
 ><TD
@@ -4231,7 +5874,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlDocPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -4241,7 +5884,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3788"
+NAME="AEN4615"
 ></A
 ><H3
 ><A
@@ -4302,9 +5945,9 @@
 <A
 HREF="gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT"
 >xmlEncodeEntitiesReentrant</A
->(). Use <GTKDOCLINK
-HREF="XMLNEWDOCRAWNODE"
->xmlNewDocRawNode</GTKDOCLINK
+>(). Use <A
+HREF="gnome-xml-tree.html#XMLNEWDOCRAWNODE"
+>xmlNewDocRawNode</A
 >() if you don't
 need entities support.</P
 ><P
@@ -4335,7 +5978,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -4352,7 +5995,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -4369,7 +6012,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node name</TD
 ></TR
 ><TR
 ><TD
@@ -4386,7 +6029,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML text content if any</TD
 ></TR
 ><TR
 ><TD
@@ -4401,7 +6044,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4411,7 +6054,162 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3829"
+NAME="AEN4656"
+></A
+><H3
+><A
+NAME="XMLNEWDOCRAWNODE"
+></A
+>xmlNewDocRawNode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewDocRawNode                (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *content);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a new node element within a document. <TT
+CLASS="PARAMETER"
+><I
+>ns</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+>
+are optionnal (NULL).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</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"
+>  namespace if any</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"
+>  the node name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the text content if any</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the new node object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4694"
 ></A
 ><H3
 ><A
@@ -4483,7 +6281,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -4500,7 +6298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node name</TD
 ></TR
 ><TR
 ><TD
@@ -4515,7 +6313,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4525,7 +6323,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3857"
+NAME="AEN4722"
 ></A
 ><H3
 ><A
@@ -4569,7 +6367,7 @@
 ><I
 >parent</I
 ></TT
-> childs list.
+> children list.
 <TT
 CLASS="PARAMETER"
 ><I
@@ -4592,9 +6390,9 @@
 <A
 HREF="gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT"
 >xmlEncodeEntitiesReentrant</A
->(). Use <GTKDOCLINK
-HREF="XMLNEWTEXTCHILD"
->xmlNewTextChild</GTKDOCLINK
+>(). Use <A
+HREF="gnome-xml-tree.html#XMLNEWTEXTCHILD"
+>xmlNewTextChild</A
 >() if entities
 support is not needed.</P
 ><P
@@ -4625,7 +6423,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -4642,7 +6440,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -4659,7 +6457,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the child</TD
 ></TR
 ><TR
 ><TD
@@ -4676,7 +6474,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML content of the child if any.</TD
 ></TR
 ><TR
 ><TD
@@ -4691,7 +6489,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4701,7 +6499,168 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3899"
+NAME="AEN4764"
+></A
+><H3
+><A
+NAME="XMLNEWTEXTCHILD"
+></A
+>xmlNewTextChild ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewTextChild                 (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> parent,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *content);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a new child element, added at the end of <TT
+CLASS="PARAMETER"
+><I
+>parent</I
+></TT
+> children list.
+<TT
+CLASS="PARAMETER"
+><I
+>ns</I
+></TT
+> and <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+> parameters are optionnal (NULL). If content is non NULL,
+a child TEXT node will be created containing the string content.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>parent</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the parent node</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"
+>  a namespace if any</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"
+>  the name of the child</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the text content of the child if any.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the new node object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4803"
 ></A
 ><H3
 ><A
@@ -4761,7 +6720,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -4778,7 +6737,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4793,7 +6752,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4803,7 +6762,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3925"
+NAME="AEN4829"
 ></A
 ><H3
 ><A
@@ -4859,7 +6818,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4874,7 +6833,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4884,7 +6843,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3946"
+NAME="AEN4850"
 ></A
 ><H3
 ><A
@@ -4944,7 +6903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the processing instruction name</TD
 ></TR
 ><TR
 ><TD
@@ -4961,7 +6920,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the PI content</TD
 ></TR
 ><TR
 ><TD
@@ -4976,7 +6935,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4986,7 +6945,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3972"
+NAME="AEN4876"
 ></A
 ><H3
 ><A
@@ -5048,7 +7007,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -5065,7 +7024,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -5082,7 +7041,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text len.</TD
 ></TR
 ><TR
 ><TD
@@ -5097,7 +7056,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5107,7 +7066,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4002"
+NAME="AEN4906"
 ></A
 ><H3
 ><A
@@ -5164,7 +7123,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -5181,7 +7140,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text len.</TD
 ></TR
 ><TR
 ><TD
@@ -5196,7 +7155,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5206,7 +7165,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4027"
+NAME="AEN4931"
 ></A
 ><H3
 ><A
@@ -5266,7 +7225,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -5283,7 +7242,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the comment content</TD
 ></TR
 ><TR
 ><TD
@@ -5298,7 +7257,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5308,7 +7267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4053"
+NAME="AEN4957"
 ></A
 ><H3
 ><A
@@ -5364,7 +7323,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the comment content</TD
 ></TR
 ><TR
 ><TD
@@ -5379,7 +7338,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5389,7 +7348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4074"
+NAME="AEN4978"
 ></A
 ><H3
 ><A
@@ -5450,7 +7409,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -5467,7 +7426,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CData block content content</TD
 ></TR
 ><TR
 ><TD
@@ -5484,7 +7443,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the block</TD
 ></TR
 ><TR
 ><TD
@@ -5499,7 +7458,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5509,7 +7468,109 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4104"
+NAME="AEN5008"
+></A
+><H3
+><A
+NAME="XMLNEWCHARREF"
+></A
+>xmlNewCharRef ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewCharRef                   (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a new character reference node.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the document</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"
+>  the char ref string, starting with # or "&amp;# ... ;"</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the new node object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5034"
 ></A
 ><H3
 ><A
@@ -5569,7 +7630,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -5586,7 +7647,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the reference name, or the reference string with &amp; and ;</TD
 ></TR
 ><TR
 ><TD
@@ -5601,7 +7662,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5611,7 +7672,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4130"
+NAME="AEN5060"
 ></A
 ><H3
 ><A
@@ -5668,7 +7729,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -5685,7 +7746,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if 1 do a recursive copy.</TD
 ></TR
 ><TR
 ><TD
@@ -5700,7 +7761,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNodePtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -5710,7 +7771,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4155"
+NAME="AEN5085"
 ></A
 ><H3
 ><A
@@ -5766,7 +7827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first node in the list.</TD
 ></TR
 ><TR
 ><TD
@@ -5781,7 +7842,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNodePtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -5791,7 +7852,170 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4176"
+NAME="AEN5106"
+></A
+><H3
+><A
+NAME="XMLNEWDOCFRAGMENT"
+></A
+>xmlNewDocFragment ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewDocFragment               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a new Fragment node.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document owning the fragment</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the new node object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5127"
+></A
+><H3
+><A
+NAME="XMLDOCGETROOTELEMENT"
+></A
+>xmlDocGetRootElement ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlDocGetRootElement            (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Get the root element of the document (doc-&gt;children is a list
+containing possibly comments, PIs, etc ...).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the xmlNodePtr for the root or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5148"
 ></A
 ><H3
 ><A
@@ -5847,7 +8071,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -5862,7 +8086,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the last child or NULL if none.</TD
 ></TR
 ></TABLE
 ><P
@@ -5872,7 +8096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4197"
+NAME="AEN5169"
 ></A
 ><H3
 ><A
@@ -5925,7 +8149,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -5940,7 +8164,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 yes, 0 no</TD
 ></TR
 ></TABLE
 ><P
@@ -5950,7 +8174,273 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4217"
+NAME="AEN5189"
+></A
+><H3
+><A
+NAME="XMLISBLANKNODE"
+></A
+>xmlIsBlankNode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlIsBlankNode                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Is this node a Text node ?</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 yes, 0 no</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5209"
+></A
+><H3
+><A
+NAME="XMLDOCSETROOTELEMENT"
+></A
+>xmlDocSetRootElement ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlDocSetRootElement            (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> root);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Set the root element of the document (doc-&gt;children is a list
+containing possibly comments, PIs, etc ...).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>root</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new document root element</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the old root element if any was found</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5235"
+></A
+><H3
+><A
+NAME="XMLNODESETNAME"
+></A
+>xmlNodeSetName ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlNodeSetName                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being changed</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"
+>  the new tag name</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5256"
 ></A
 ><H3
 ><A
@@ -6015,7 +8505,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -6032,7 +8522,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the child node</TD
 ></TR
 ><TR
 ><TD
@@ -6047,7 +8537,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the child or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6057,7 +8547,111 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4244"
+NAME="AEN5283"
+></A
+><H3
+><A
+NAME="XMLREPLACENODE"
+></A
+>xmlReplaceNode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlReplaceNode                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> old,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Unlink the old node from it's current context, prune the new one
+at the same place. If cur was already inserted in a document it is
+first unlinked from its existing context.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>old</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the old node</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"
+>  the 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 old node</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5309"
 ></A
 ><H3
 ><A
@@ -6129,7 +8723,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the child node</TD
 ></TR
 ><TR
 ><TD
@@ -6146,7 +8740,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new node</TD
 ></TR
 ><TR
 ><TD
@@ -6161,7 +8755,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new element or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6171,7 +8765,235 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4272"
+NAME="AEN5337"
+></A
+><H3
+><A
+NAME="XMLADDPREVSIBLING"
+></A
+>xmlAddPrevSibling ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlAddPrevSibling               (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add a new element <TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+> as the previous siblings of <TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>
+If the new element was already inserted in a document it is
+first unlinked from its existing context.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the child node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new 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 new element or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5365"
+></A
+><H3
+><A
+NAME="XMLADDNEXTSIBLING"
+></A
+>xmlAddNextSibling ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlAddNextSibling               (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add a new element <TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+> as the next siblings of <TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>
+If the new element was already inserted in a document it is
+first unlinked from its existing context.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the child node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new 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 new element or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5393"
 ></A
 ><H3
 ><A
@@ -6224,7 +9046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ></TABLE
 ><P
@@ -6234,7 +9056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4288"
+NAME="AEN5409"
 ></A
 ><H3
 ><A
@@ -6294,7 +9116,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first text node</TD
 ></TR
 ><TR
 ><TD
@@ -6311,7 +9133,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second text node being merged</TD
 ></TR
 ><TR
 ><TD
@@ -6326,7 +9148,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the first text node augmented</TD
 ></TR
 ></TABLE
 ><P
@@ -6336,7 +9158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4314"
+NAME="AEN5435"
 ></A
 ><H3
 ><A
@@ -6394,7 +9216,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -6411,7 +9233,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the content</TD
 ></TR
 ><TR
 ><TD
@@ -6428,7 +9250,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+> lenght</TD
 ></TR
 ></TABLE
 ><P
@@ -6438,7 +9265,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4339"
+NAME="AEN5461"
 ></A
 ><H3
 ><A
@@ -6463,7 +9290,7 @@
 ></TABLE
 ><P
 >Free a node and all its siblings, this is a recursive behaviour, all
-the childs are freed too.</P
+the children are freed too.</P
 ><P
 ></P
 ><DIV
@@ -6492,7 +9319,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first node in the list</TD
 ></TR
 ></TABLE
 ><P
@@ -6502,7 +9329,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4355"
+NAME="AEN5477"
 ></A
 ><H3
 ><A
@@ -6526,7 +9353,11 @@
 ></TR
 ></TABLE
 ><P
->Free a node, this is a recursive behaviour, all the childs are freed too.</P
+>Free a node, this is a recursive behaviour, all the children are freed too.
+This doesn't unlink the child from the list, use <A
+HREF="gnome-xml-tree.html#XMLUNLINKNODE"
+>xmlUnlinkNode</A
+>() first.</P
 ><P
 ></P
 ><DIV
@@ -6555,7 +9386,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ></TABLE
 ><P
@@ -6565,7 +9396,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4371"
+NAME="AEN5494"
 ></A
 ><H3
 ><A
@@ -6637,7 +9468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6654,7 +9485,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node</TD
 ></TR
 ><TR
 ><TD
@@ -6671,7 +9502,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace string</TD
 ></TR
 ><TR
 ><TD
@@ -6686,7 +9517,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace pointer or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -6696,7 +9527,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4403"
+NAME="AEN5526"
 ></A
 ><H3
 ><A
@@ -6761,7 +9592,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6778,7 +9609,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node</TD
 ></TR
 ><TR
 ><TD
@@ -6795,7 +9626,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace value</TD
 ></TR
 ><TR
 ><TD
@@ -6810,7 +9641,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace pointer or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -6820,7 +9651,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4434"
+NAME="AEN5557"
 ></A
 ><H3
 ><A
@@ -6880,7 +9711,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6897,7 +9728,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node</TD
 ></TR
 ><TR
 ><TD
@@ -6912,7 +9743,9 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>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
 ></TR
 ></TABLE
 ><P
@@ -6922,7 +9755,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4460"
+NAME="AEN5583"
 ></A
 ><H3
 ><A
@@ -6979,7 +9812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node in the document</TD
 ></TR
 ><TR
 ><TD
@@ -6996,7 +9829,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -7006,7 +9839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4481"
+NAME="AEN5604"
 ></A
 ><H3
 ><A
@@ -7062,7 +9895,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -7077,7 +9910,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNsPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -7087,7 +9920,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4502"
+NAME="AEN5625"
 ></A
 ><H3
 ><A
@@ -7143,7 +9976,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first namespace</TD
 ></TR
 ><TR
 ><TD
@@ -7158,7 +9991,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNsPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -7168,7 +10001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4523"
+NAME="AEN5646"
 ></A
 ><H3
 ><A
@@ -7232,7 +10065,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -7249,7 +10082,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -7266,7 +10099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute value</TD
 ></TR
 ><TR
 ><TD
@@ -7281,7 +10114,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute pointer.</TD
 ></TR
 ></TABLE
 ><P
@@ -7291,7 +10124,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4554"
+NAME="AEN5677"
 ></A
 ><H3
 ><A
@@ -7357,7 +10190,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -7374,7 +10207,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -7389,7 +10222,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute value or NULL if not found.
+It's up to the caller to free the memory.</TD
 ></TR
 ></TABLE
 ><P
@@ -7399,7 +10233,138 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4581"
+NAME="AEN5704"
+></A
+><H3
+><A
+NAME="XMLGETNSPROP"
+></A
+>xmlGetNsProp ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlGetNsProp                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *nameSpace);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search and get the value of an attribute associated to a node
+This attribute has to be anchored in the namespace specified.
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK
+HREF="FIXED"
+>FIXED</GTKDOCLINK
+> or
+default declaration values unless DTD use has been turned off.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node</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"
+>  the attribute name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nameSpace</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the URI of the namespace</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+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
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5736"
 ></A
 ><H3
 ><A
@@ -7460,7 +10425,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -7477,7 +10442,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -7492,7 +10457,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the first child</TD
 ></TR
 ></TABLE
 ><P
@@ -7502,7 +10467,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4607"
+NAME="AEN5762"
 ></A
 ><H3
 ><A
@@ -7564,7 +10529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -7581,7 +10546,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the text</TD
 ></TR
 ><TR
 ><TD
@@ -7598,7 +10563,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the string value</TD
 ></TR
 ><TR
 ><TD
@@ -7613,7 +10578,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the first child</TD
 ></TR
 ></TABLE
 ><P
@@ -7623,7 +10588,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4637"
+NAME="AEN5792"
 ></A
 ><H3
 ><A
@@ -7685,7 +10650,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -7702,7 +10667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a Node list</TD
 ></TR
 ><TR
 ><TD
@@ -7719,7 +10684,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  should we replace entity contents or show their external form</TD
 ></TR
 ><TR
 ><TD
@@ -7734,7 +10699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the string copy, the calller must free it.</TD
 ></TR
 ></TABLE
 ><P
@@ -7744,7 +10709,132 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4667"
+NAME="AEN5822"
+></A
+><H3
+><A
+NAME="XMLNODELISTGETRAWSTRING"
+></A
+>xmlNodeListGetRawString ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlNodeListGetRawString         (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> list,
+                                             int inLine);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Returns the string equivalent to the text contained in the Node list
+made of TEXTs and ENTITY_REFs, contrary to <A
+HREF="gnome-xml-tree.html#XMLNODELISTGETSTRING"
+>xmlNodeListGetString</A
+>()
+this function doesn't do any character encoding handling.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a Node list</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>inLine</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  should we replace entity contents or show their external form</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the string copy, the calller must free it.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5853"
 ></A
 ><H3
 ><A
@@ -7801,7 +10891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7818,7 +10908,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new value of the content</TD
 ></TR
 ></TABLE
 ><P
@@ -7828,7 +10918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4688"
+NAME="AEN5874"
 ></A
 ><H3
 ><A
@@ -7886,7 +10976,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7903,7 +10993,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new value of the content</TD
 ></TR
 ><TR
 ><TD
@@ -7920,7 +11010,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+></TD
 ></TR
 ></TABLE
 ><P
@@ -7930,7 +11025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4713"
+NAME="AEN5900"
 ></A
 ><H3
 ><A
@@ -7987,7 +11082,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -8004,7 +11099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra content</TD
 ></TR
 ></TABLE
 ><P
@@ -8014,7 +11109,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4734"
+NAME="AEN5921"
 ></A
 ><H3
 ><A
@@ -8072,7 +11167,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -8089,7 +11184,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra content</TD
 ></TR
 ><TR
 ><TD
@@ -8106,7 +11201,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+></TD
 ></TR
 ></TABLE
 ><P
@@ -8116,7 +11216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4759"
+NAME="AEN5947"
 ></A
 ><H3
 ><A
@@ -8137,4 +11237,1843 @@
 >xmlChar</A
 >*    xmlNodeGetContent               (<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Read the value of a node, this can be either the text carried
+directly by this node if it's a TEXT node or the aggregate string
+of the values carried by this node child's (TEXT and ENTITY_REF).
+Entity references are substitued.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being read</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+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
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5968"
+></A
+><H3
+><A
+NAME="XMLNODEGETLANG"
+></A
+>xmlNodeGetLang ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlNodeGetLang                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being checked</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+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
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5989"
+></A
+><H3
+><A
+NAME="XMLNODESETLANG"
+></A
+>xmlNodeSetLang ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlNodeSetLang                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *lang);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Set the language of a node, i.e. the values of the xml:lang
+attribute.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being changed</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the langage description</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6010"
+></A
+><H3
+><A
+NAME="XMLNODEGETSPACEPRESERVE"
+></A
+>xmlNodeGetSpacePreserve ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlNodeGetSpacePreserve         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches the language of a node, i.e. the values of the xml:space
+attribute or the one carried by the nearest ancestor.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being checked</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>-1 if xml:space is not inheried, 0 if "default", 1 if "preserve"</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6030"
+></A
+><H3
+><A
+NAME="XMLNODEGETBASE"
+></A
+>xmlNodeGetBase ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlNodeGetBase                  (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches for the BASE URL. The code should work on both XML
+and HTML document even if base mechanisms are completely different.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document the node pertains to</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"
+>  the node being checked</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+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
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6056"
+></A
+><H3
+><A
+NAME="XMLREMOVEPROP"
+></A
+>xmlRemoveProp ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRemoveProp                   (<A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Unlink and free one attribute, all the content is freed too
+Note this doesn't work for namespace definition attributes</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</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"
+>0 if success and -1 in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6076"
+></A
+><H3
+><A
+NAME="XMLREMOVENODE"
+></A
+>xmlRemoveNode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRemoveNode                   (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6095"
+></A
+><H3
+><A
+NAME="XMLBUFFERWRITECHAR"
+></A
+>xmlBufferWriteCHAR ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferWriteCHAR              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string);</PRE
+></TD
+></TR
+></TABLE
+><P
+>routine which manage and grows an output buffer. This one add
+xmlChars at the end of the buffer.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the string to add</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6116"
+></A
+><H3
+><A
+NAME="XMLBUFFERWRITECHAR"
+></A
+>xmlBufferWriteChar ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferWriteChar              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const char *string);</PRE
+></TD
+></TR
+></TABLE
+><P
+>routine which manage and grows an output buffer. This one add
+C chars at the end of the array.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the string to add</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6136"
+></A
+><H3
+><A
+NAME="XMLBUFFERWRITEQUOTEDSTRING"
+></A
+>xmlBufferWriteQuotedString ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferWriteQuotedString      (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string);</PRE
+></TD
+></TR
+></TABLE
+><P
+>routine which manage and grows an output buffer. This one writes
+a quoted or double quoted xmlChar string, checking first if it holds
+quote or double-quotes internally</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>string</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the string to add</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6157"
+></A
+><H3
+><A
+NAME="XMLRECONCILIATENS"
+></A
+>xmlReconciliateNs ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlReconciliateNs               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> tree);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This function checks that all the namespaces declared within the given
+tree are properly declared. This is needed for example after Copy or Cut
+and then paste operations. The subtree may still hold pointers to
+namespace declarations outside the subtree or invalid/masked. As much
+as possible the function try tu reuse the existing namespaces found in
+the new environment. If not possible the new namespaces are redeclared
+on <TT
+CLASS="PARAMETER"
+><I
+>tree</I
+></TT
+> at the top of the given subtree.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tree</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node defining the subtree to reconciliate</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 of namespace declarations created or -1 in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6183"
+></A
+><H3
+><A
+NAME="XMLDOCDUMPMEMORY"
+></A
+>xmlDocDumpMemory ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDocDumpMemory                (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> **mem,
+                                             int *size);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML document in memory and return the xmlChar * and it's size.
+It's up to the caller to free the memory.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>mem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  OUT: the memory pointer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  OUT: the memory lenght</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6208"
+></A
+><H3
+><A
+NAME="XMLDOCDUMP"
+></A
+>xmlDocDump ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlDocDump                      (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *f,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML document to an open FILE.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the FILE*</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"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the number of file written or -1 in case of failure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6233"
+></A
+><H3
+><A
+NAME="XMLELEMDUMP"
+></A
+>xmlElemDump ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlElemDump                     (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *f,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML/HTML node, recursive behaviour,children are printed too.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the FILE * for the output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</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"
+>  the current node</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6259"
+></A
+><H3
+><A
+NAME="XMLSAVEFILE"
+></A
+>xmlSaveFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSaveFile                     (const char *filename,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML document to a file. Will use compression if
+compiled in and enabled. If <TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+> is "-" the stdout file is
+used.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename (or URL)</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"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the number of file written or -1 in case of failure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6284"
+></A
+><H3
+><A
+NAME="XMLSAVEFILEENC"
+></A
+>xmlSaveFileEnc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSaveFileEnc                  (const char *filename,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML document, converting it to the given encoding</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename (or URL)</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"
+>  the document</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"
+>  the name of an encoding (or NULL)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the number of file written or -1 in case of failure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6312"
+></A
+><H3
+><A
+NAME="XMLGETDOCCOMPRESSMODE"
+></A
+>xmlGetDocCompressMode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlGetDocCompressMode           (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>get the compression ratio for a document, ZLIB based</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 (uncompressed) to 9 (max compression)</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6332"
+></A
+><H3
+><A
+NAME="XMLSETDOCCOMPRESSMODE"
+></A
+>xmlSetDocCompressMode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSetDocCompressMode           (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             int mode);</PRE
+></TD
+></TR
+></TABLE
+><P
+>set the compression ratio for a document, ZLIB based
+Correct values: 0 (uncompressed) to 9 (max compression)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>mode</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the compression ratio</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6352"
+></A
+><H3
+><A
+NAME="XMLGETCOMPRESSMODE"
+></A
+>xmlGetCompressMode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlGetCompressMode              (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>get the default compression mode used, ZLIB based.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 (uncompressed) to 9 (max compression)</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6367"
+></A
+><H3
+><A
+NAME="XMLSETCOMPRESSMODE"
+></A
+>xmlSetCompressMode ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSetCompressMode              (int mode);</PRE
+></TD
+></TR
+></TABLE
+><P
+>set the default compression mode used, ZLIB based
+Correct values: 0 (uncompressed) to 9 (max compression)</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>mode</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the compression ratio</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="gnome-xml-sax.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="gnome-xml-entities.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
+></TR
+><TR
+><TD
+COLSPAN="2"
+ALIGN="left"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>SAX</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>entities</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
 >
\ No newline at end of file
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 143d52e..8096567 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -4,7 +4,7 @@
 >valid</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-VALID"
->valid</A
-></H1
+>valid</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5502"
+NAME="AEN6893"
 ></A
 ><H2
 >Name</H2
->valid&nbsp;--&nbsp;</DIV
+>valid &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5505"
+NAME="AEN6896"
 ></A
 ><H2
 >Synopsis</H2
@@ -156,10 +150,22 @@
 >)       (void *ctx,
                                              const char *msg,
                                              ...);
+struct      <A
+HREF="gnome-xml-valid.html#XMLVALIDCTXT"
+>xmlValidCtxt</A
+>;
+typedef     <A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
+>;
 #define     <A
 HREF="gnome-xml-valid.html#XML-MIN-NOTATION-TABLE"
 >XML_MIN_NOTATION_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-valid.html#XMLNOTATIONTABLE"
+>xmlNotationTable</A
+>;
 typedef     <A
 HREF="gnome-xml-valid.html#XMLNOTATIONTABLEPTR"
 >xmlNotationTablePtr</A
@@ -168,6 +174,10 @@
 HREF="gnome-xml-valid.html#XML-MIN-ELEMENT-TABLE"
 >XML_MIN_ELEMENT_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-valid.html#XMLELEMENTTABLE"
+>xmlElementTable</A
+>;
 typedef     <A
 HREF="gnome-xml-valid.html#XMLELEMENTTABLEPTR"
 >xmlElementTablePtr</A
@@ -176,6 +186,10 @@
 HREF="gnome-xml-valid.html#XML-MIN-ATTRIBUTE-TABLE"
 >XML_MIN_ATTRIBUTE_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-valid.html#XMLATTRIBUTETABLE"
+>xmlAttributeTable</A
+>;
 typedef     <A
 HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
 >xmlAttributeTablePtr</A
@@ -184,6 +198,10 @@
 HREF="gnome-xml-valid.html#XML-MIN-ID-TABLE"
 >XML_MIN_ID_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-valid.html#XMLIDTABLE"
+>xmlIDTable</A
+>;
 typedef     <A
 HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
 >xmlIDTablePtr</A
@@ -192,6 +210,10 @@
 HREF="gnome-xml-valid.html#XML-MIN-REF-TABLE"
 >XML_MIN_REF_TABLE</A
 >
+struct      <A
+HREF="gnome-xml-valid.html#XMLREFTABLE"
+>xmlRefTable</A
+>;
 typedef     <A
 HREF="gnome-xml-valid.html#XMLREFTABLEPTR"
 >xmlRefTablePtr</A
@@ -202,9 +224,9 @@
 > <A
 HREF="gnome-xml-valid.html#XMLADDNOTATIONDECL"
 >xmlAddNotationDecl</A
->           (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>           (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -240,6 +262,17 @@
 >xmlNotationTablePtr</A
 > table);
 void        <A
+HREF="gnome-xml-valid.html#XMLDUMPNOTATIONDECL"
+>xmlDumpNotationDecl</A
+>             (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> nota);
+void        <A
 HREF="gnome-xml-valid.html#XMLDUMPNOTATIONTABLE"
 >xmlDumpNotationTable</A
 >            (<A
@@ -281,15 +314,24 @@
 HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
 >xmlElementContentPtr</A
 > cur);
+void        <A
+HREF="gnome-xml-valid.html#XMLSPRINTFELEMENTCONTENT"
+>xmlSprintfElementContent</A
+>        (char *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
+>xmlElementContentPtr</A
+> content,
+                                             int glob);
 <A
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
 > <A
 HREF="gnome-xml-valid.html#XMLADDELEMENTDECL"
 >xmlAddElementDecl</A
->             (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -335,6 +377,17 @@
 HREF="gnome-xml-valid.html#XMLELEMENTTABLEPTR"
 >xmlElementTablePtr</A
 > table);
+void        <A
+HREF="gnome-xml-valid.html#XMLDUMPELEMENTDECL"
+>xmlDumpElementDecl</A
+>              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> elem);
 <A
 HREF="gnome-xml-tree.html#XMLENUMERATIONPTR"
 >xmlEnumerationPtr</A
@@ -368,9 +421,9 @@
 > <A
 HREF="gnome-xml-valid.html#XMLADDATTRIBUTEDECL"
 >xmlAddAttributeDecl</A
->         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -432,15 +485,26 @@
 HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
 >xmlAttributeTablePtr</A
 > table);
+void        <A
+HREF="gnome-xml-valid.html#XMLDUMPATTRIBUTEDECL"
+>xmlDumpAttributeDecl</A
+>            (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> attr);
 <A
 HREF="gnome-xml-tree.html#XMLIDPTR"
 >xmlIDPtr</A
 >    <A
 HREF="gnome-xml-valid.html#XMLADDID"
 >xmlAddID</A
->                        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>                        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -500,15 +564,26 @@
 HREF="gnome-xml-tree.html#XMLATTRPTR"
 >xmlAttrPtr</A
 > attr);
+int         <A
+HREF="gnome-xml-valid.html#XMLREMOVEID"
+>xmlRemoveID</A
+>                     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);
 <A
 HREF="gnome-xml-tree.html#XMLREFPTR"
 >xmlRefPtr</A
 >   <A
 HREF="gnome-xml-valid.html#XMLADDREF"
 >xmlAddRef</A
->                       (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>                       (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -555,11 +630,22 @@
 >xmlAttrPtr</A
 > attr);
 int         <A
+HREF="gnome-xml-valid.html#XMLREMOVEREF"
+>xmlRemoveRef</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);
+int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEROOT"
 >xmlValidateRoot</A
->                 (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>                 (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -568,9 +654,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEELEMENTDECL"
 >xmlValidateElementDecl</A
->          (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>          (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -580,12 +666,34 @@
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
 > elem);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-valid.html#XMLVALIDNORMALIZEATTRIBUTEVALUE"
+>xmlValidNormalizeAttributeValue</A
+> (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *value);
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEATTRIBUTEDECL"
 >xmlValidateAttributeDecl</A
->        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -609,9 +717,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATENOTATIONDECL"
 >xmlValidateNotationDecl</A
->         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -624,9 +732,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEDTD"
 >xmlValidateDtd</A
->                  (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>                  (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -637,11 +745,22 @@
 >xmlDtdPtr</A
 > dtd);
 int         <A
+HREF="gnome-xml-valid.html#XMLVALIDATEDTDFINAL"
+>xmlValidateDtdFinal</A
+>             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEDOCUMENT"
 >xmlValidateDocument</A
->             (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -650,9 +769,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEELEMENT"
 >xmlValidateElement</A
->              (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>              (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -665,9 +784,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEONEELEMENT"
 >xmlValidateOneElement</A
->           (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>           (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -680,9 +799,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEONEATTRIBUTE"
 >xmlValidateOneAttribute</A
->         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -703,9 +822,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEDOCUMENTFINAL"
 >xmlValidateDocumentFinal</A
->        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -714,9 +833,9 @@
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATENOTATIONUSE"
 >xmlValidateNotationUse</A
->          (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>          (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -782,7 +901,36 @@
                                              const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
-> *name);</PRE
+> *name);
+int         <A
+HREF="gnome-xml-valid.html#XMLVALIDGETVALIDELEMENTS"
+>xmlValidGetValidElements</A
+>        (<A
+HREF="gnome-xml-tree.html#XMLNODE"
+>xmlNode</A
+> *prev,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODE"
+>xmlNode</A
+> *next,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> **list,
+                                             int max);
+int         <A
+HREF="gnome-xml-valid.html#XMLVALIDGETPOTENTIALCHILDREN"
+>xmlValidGetPotentialChildren</A
+>    (<A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENT"
+>xmlElementContent</A
+> *ctree,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> **list,
+                                             int *len,
+                                             int max);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -790,7 +938,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5682"
+NAME="AEN7113"
 ></A
 ><H2
 >Description</H2
@@ -800,14 +948,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5685"
+NAME="AEN7116"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5687"
+NAME="AEN7118"
 ></A
 ><H3
 ><A
@@ -901,7 +1049,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5709"
+NAME="AEN7140"
 ></A
 ><H3
 ><A
@@ -995,7 +1143,71 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5731"
+NAME="AEN7162"
+></A
+><H3
+><A
+NAME="XMLVALIDCTXT"
+></A
+>struct xmlValidCtxt</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlValidCtxt {
+    void *userData;			/* user specific data block */
+    xmlValidityErrorFunc error;		/* the callback in case of errors */
+    xmlValidityWarningFunc warning;	/* the callback in case of warning */
+
+    /* Node analysis stack used when validating within entities */
+    xmlNodePtr         node;          /* Current parsed Node */
+    int                nodeNr;        /* Depth of the parsing stack */
+    int                nodeMax;       /* Max depth of the parsing stack */
+    xmlNodePtr        *nodeTab;       /* array of nodes */
+
+    int              finishDtd;       /* finished validating the Dtd ? */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7167"
+></A
+><H3
+><A
+NAME="XMLVALIDCTXTPTR"
+></A
+>xmlValidCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlValidCtxt *xmlValidCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7172"
 ></A
 ><H3
 ><A
@@ -1011,7 +1223,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_NOTATION_TABLE</PRE
+>#define XML_MIN_NOTATION_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1021,20 +1233,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5736"
+NAME="AEN7177"
 ></A
 ><H3
 ><A
-NAME="XMLNOTATIONTABLEPTR"
+NAME="XMLNOTATIONTABLE"
 ></A
->xmlNotationTablePtr</H3
+>struct xmlNotationTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlNotationTable {
+    int nb_notations;		/* number of notations stored */
+    int max_notations;		/* maximum number of notations */
+    xmlNotationPtr *table;	/* the table of attributes */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5740"
+NAME="AEN7182"
+></A
+><H3
+><A
+NAME="XMLNOTATIONTABLEPTR"
+></A
+>xmlNotationTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNotationTable *xmlNotationTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7187"
 ></A
 ><H3
 ><A
@@ -1050,7 +1305,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ELEMENT_TABLE</PRE
+>#define XML_MIN_ELEMENT_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1060,20 +1315,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5745"
+NAME="AEN7192"
 ></A
 ><H3
 ><A
-NAME="XMLELEMENTTABLEPTR"
+NAME="XMLELEMENTTABLE"
 ></A
->xmlElementTablePtr</H3
+>struct xmlElementTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlElementTable {
+    int nb_elements;		/* number of elements stored */
+    int max_elements;		/* maximum number of elements */
+    xmlElementPtr *table;	/* the table of elements */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5749"
+NAME="AEN7197"
+></A
+><H3
+><A
+NAME="XMLELEMENTTABLEPTR"
+></A
+>xmlElementTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlElementTable *xmlElementTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7202"
 ></A
 ><H3
 ><A
@@ -1089,7 +1387,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ATTRIBUTE_TABLE</PRE
+>#define XML_MIN_ATTRIBUTE_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1099,20 +1397,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5754"
+NAME="AEN7207"
 ></A
 ><H3
 ><A
-NAME="XMLATTRIBUTETABLEPTR"
+NAME="XMLATTRIBUTETABLE"
 ></A
->xmlAttributeTablePtr</H3
+>struct xmlAttributeTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlAttributeTable {
+    int nb_attributes;		/* number of attributes stored */
+    int max_attributes;		/* maximum number of attributes */
+    xmlAttributePtr *table;	/* the table of attributes */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5758"
+NAME="AEN7212"
+></A
+><H3
+><A
+NAME="XMLATTRIBUTETABLEPTR"
+></A
+>xmlAttributeTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7217"
 ></A
 ><H3
 ><A
@@ -1128,7 +1469,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ID_TABLE</PRE
+>#define XML_MIN_ID_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1138,20 +1479,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5763"
+NAME="AEN7222"
 ></A
 ><H3
 ><A
-NAME="XMLIDTABLEPTR"
+NAME="XMLIDTABLE"
 ></A
->xmlIDTablePtr</H3
+>struct xmlIDTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlIDTable {
+    int nb_ids;			/* number of ids stored */
+    int max_ids;		/* maximum number of ids */
+    xmlIDPtr *table;		/* the table of ids */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5767"
+NAME="AEN7227"
+></A
+><H3
+><A
+NAME="XMLIDTABLEPTR"
+></A
+>xmlIDTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlIDTable *xmlIDTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7232"
 ></A
 ><H3
 ><A
@@ -1167,7 +1551,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_REF_TABLE</PRE
+>#define XML_MIN_REF_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1177,20 +1561,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5772"
+NAME="AEN7237"
 ></A
 ><H3
 ><A
-NAME="XMLREFTABLEPTR"
+NAME="XMLREFTABLE"
 ></A
->xmlRefTablePtr</H3
+>struct xmlRefTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlRefTable {
+    int nb_refs;			/* number of refs stored */
+    int max_refs;		/* maximum number of refs */
+    xmlRefPtr *table;		/* the table of refs */
+};</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5776"
+NAME="AEN7242"
+></A
+><H3
+><A
+NAME="XMLREFTABLEPTR"
+></A
+>xmlRefTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlRefTable *xmlRefTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7247"
 ></A
 ><H3
 ><A
@@ -1209,9 +1636,9 @@
 ><A
 HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
 >xmlNotationPtr</A
-> xmlAddNotationDecl           (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+> xmlAddNotationDecl           (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -1262,7 +1689,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -1279,7 +1706,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -1296,7 +1723,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1313,7 +1740,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the public identifier or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1330,7 +1757,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system identifier or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1345,7 +1772,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -1355,7 +1782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5817"
+NAME="AEN7288"
 ></A
 ><H3
 ><A
@@ -1411,7 +1838,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A notation table</TD
 ></TR
 ><TR
 ><TD
@@ -1426,7 +1853,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlNotationTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1436,7 +1863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5838"
+NAME="AEN7309"
 ></A
 ><H3
 ><A
@@ -1489,7 +1916,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An notation table</TD
 ></TR
 ></TABLE
 ><P
@@ -1499,7 +1926,91 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5854"
+NAME="AEN7325"
+></A
+><H3
+><A
+NAME="XMLDUMPNOTATIONDECL"
+></A
+>xmlDumpNotationDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpNotationDecl             (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> nota);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content the notation declaration as an XML DTD definition</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nota</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  A notation declaration</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7346"
 ></A
 ><H3
 ><A
@@ -1556,7 +2067,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -1573,7 +2084,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A notation table</TD
 ></TR
 ></TABLE
 ><P
@@ -1583,7 +2094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5875"
+NAME="AEN7367"
 ></A
 ><H3
 ><A
@@ -1643,7 +2154,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the subelement name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1660,7 +2171,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the type of element content decl</TD
 ></TR
 ><TR
 ><TD
@@ -1675,7 +2186,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the new element content structure</TD
 ></TR
 ></TABLE
 ><P
@@ -1685,7 +2196,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5901"
+NAME="AEN7393"
 ></A
 ><H3
 ><A
@@ -1741,7 +2252,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element content pointer.</TD
 ></TR
 ><TR
 ><TD
@@ -1756,7 +2267,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlElementContentPtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1766,7 +2277,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5922"
+NAME="AEN7414"
 ></A
 ><H3
 ><A
@@ -1819,7 +2330,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element content tree to free</TD
 ></TR
 ></TABLE
 ><P
@@ -1829,7 +2340,107 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5938"
+NAME="AEN7430"
+></A
+><H3
+><A
+NAME="XMLSPRINTFELEMENTCONTENT"
+></A
+>xmlSprintfElementContent ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSprintfElementContent        (char *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
+>xmlElementContentPtr</A
+> content,
+                                             int glob);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the element content definition
+Intended just for the debug routine</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an output buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An element table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>glob</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> 1 if one must print the englobing parenthesis, 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7454"
 ></A
 ><H3
 ><A
@@ -1848,9 +2459,9 @@
 ><A
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
-> xmlAddElementDecl             (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+> xmlAddElementDecl             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -1901,7 +2512,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -1918,7 +2529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -1935,7 +2546,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1952,7 +2563,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element type</TD
 ></TR
 ><TR
 ><TD
@@ -1969,7 +2580,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element content tree or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1984,7 +2595,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -1994,7 +2605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5979"
+NAME="AEN7495"
 ></A
 ><H3
 ><A
@@ -2050,7 +2661,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ><TR
 ><TD
@@ -2065,7 +2676,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlElementTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2075,7 +2686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6000"
+NAME="AEN7516"
 ></A
 ><H3
 ><A
@@ -2128,7 +2739,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ></TABLE
 ><P
@@ -2138,7 +2749,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6016"
+NAME="AEN7532"
 ></A
 ><H3
 ><A
@@ -2195,7 +2806,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -2212,7 +2823,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ></TABLE
 ><P
@@ -2222,7 +2833,92 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6037"
+NAME="AEN7553"
+></A
+><H3
+><A
+NAME="XMLDUMPELEMENTDECL"
+></A
+>xmlDumpElementDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpElementDecl              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the element declaration as an XML
+DTD definition</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An element table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7574"
 ></A
 ><H3
 ><A
@@ -2278,7 +2974,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -2293,7 +2989,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEnumerationPtr just created or NULL in case
+of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2303,7 +3000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6058"
+NAME="AEN7595"
 ></A
 ><H3
 ><A
@@ -2356,7 +3053,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tree to free.</TD
 ></TR
 ></TABLE
 ><P
@@ -2366,7 +3063,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6074"
+NAME="AEN7611"
 ></A
 ><H3
 ><A
@@ -2422,7 +3119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tree to copy.</TD
 ></TR
 ><TR
 ><TD
@@ -2437,7 +3134,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEnumerationPtr just created or NULL in case
+of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2447,7 +3145,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6095"
+NAME="AEN7632"
 ></A
 ><H3
 ><A
@@ -2466,9 +3164,9 @@
 ><A
 HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
 >xmlAttributePtr</A
-> xmlAddAttributeDecl         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+> xmlAddAttributeDecl         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
@@ -2535,7 +3233,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -2552,7 +3250,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -2569,7 +3267,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -2586,7 +3284,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -2603,7 +3301,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute namespace prefix</TD
 ></TR
 ><TR
 ><TD
@@ -2620,7 +3318,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute type</TD
 ></TR
 ><TR
 ><TD
@@ -2637,7 +3335,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute default type</TD
 ></TR
 ><TR
 ><TD
@@ -2654,7 +3352,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute default value</TD
 ></TR
 ><TR
 ><TD
@@ -2671,7 +3369,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if it's an enumeration, the associated list</TD
 ></TR
 ><TR
 ><TD
@@ -2686,7 +3384,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not new, othervise the attribute decl</TD
 ></TR
 ></TABLE
 ><P
@@ -2696,7 +3394,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6156"
+NAME="AEN7693"
 ></A
 ><H3
 ><A
@@ -2752,7 +3450,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An attribute table</TD
 ></TR
 ><TR
 ><TD
@@ -2767,7 +3465,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlAttributeTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2777,7 +3475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6177"
+NAME="AEN7714"
 ></A
 ><H3
 ><A
@@ -2830,7 +3528,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An attribute table</TD
 ></TR
 ></TABLE
 ><P
@@ -2840,7 +3538,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6193"
+NAME="AEN7730"
 ></A
 ><H3
 ><A
@@ -2897,7 +3595,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -2914,7 +3612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An attribute table</TD
 ></TR
 ></TABLE
 ><P
@@ -2924,7 +3622,92 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6214"
+NAME="AEN7751"
+></A
+><H3
+><A
+NAME="XMLDUMPATTRIBUTEDECL"
+></A
+>xmlDumpAttributeDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpAttributeDecl            (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the attribute declaration as an XML
+DTD definition</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An attribute declaration</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7772"
 ></A
 ><H3
 ><A
@@ -2943,9 +3726,9 @@
 ><A
 HREF="gnome-xml-tree.html#XMLIDPTR"
 >xmlIDPtr</A
->    xmlAddID                        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>    xmlAddID                        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -2992,7 +3775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3009,7 +3792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the document</TD
 ></TR
 ><TR
 ><TD
@@ -3026,7 +3809,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value name</TD
 ></TR
 ><TR
 ><TD
@@ -3043,7 +3826,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute holding the ID</TD
 ></TR
 ><TR
 ><TD
@@ -3058,7 +3841,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the new xmlIDPtr</TD
 ></TR
 ></TABLE
 ><P
@@ -3068,7 +3851,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6250"
+NAME="AEN7808"
 ></A
 ><H3
 ><A
@@ -3147,7 +3930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6270"
+NAME="AEN7828"
 ></A
 ><H3
 ><A
@@ -3200,7 +3983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An id table</TD
 ></TR
 ></TABLE
 ><P
@@ -3210,7 +3993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6286"
+NAME="AEN7844"
 ></A
 ><H3
 ><A
@@ -3270,7 +4053,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the document</TD
 ></TR
 ><TR
 ><TD
@@ -3287,7 +4070,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the ID value</TD
 ></TR
 ><TR
 ><TD
@@ -3302,7 +4085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not found, otherwise the xmlAttrPtr defining the ID</TD
 ></TR
 ></TABLE
 ><P
@@ -3312,7 +4095,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6312"
+NAME="AEN7870"
 ></A
 ><H3
 ><A
@@ -3375,7 +4158,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3392,7 +4175,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element carrying the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3409,7 +4192,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3424,7 +4207,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 or 1 depending on the lookup result</TD
 ></TR
 ></TABLE
 ><P
@@ -3434,7 +4217,106 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6342"
+NAME="AEN7900"
+></A
+><H3
+><A
+NAME="XMLREMOVEID"
+></A
+>xmlRemoveID ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRemoveID                     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Remove the given attribute from the ID table maintained internally.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>-1 if the lookup failed and 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7925"
 ></A
 ><H3
 ><A
@@ -3453,9 +4335,9 @@
 ><A
 HREF="gnome-xml-tree.html#XMLREFPTR"
 >xmlRefPtr</A
->   xmlAddRef                       (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>   xmlAddRef                       (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -3502,7 +4384,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3519,7 +4401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the document</TD
 ></TR
 ><TR
 ><TD
@@ -3536,7 +4418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value name</TD
 ></TR
 ><TR
 ><TD
@@ -3553,7 +4435,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute holding the Ref</TD
 ></TR
 ><TR
 ><TD
@@ -3568,7 +4450,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the new xmlRefPtr</TD
 ></TR
 ></TABLE
 ><P
@@ -3578,7 +4460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6378"
+NAME="AEN7961"
 ></A
 ><H3
 ><A
@@ -3657,7 +4539,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6398"
+NAME="AEN7981"
 ></A
 ><H3
 ><A
@@ -3710,7 +4592,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An ref table</TD
 ></TR
 ></TABLE
 ><P
@@ -3720,7 +4602,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6414"
+NAME="AEN7997"
 ></A
 ><H3
 ><A
@@ -3783,7 +4665,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3800,7 +4682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element carrying the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3817,7 +4699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3832,7 +4714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 or 1 depending on the lookup result</TD
 ></TR
 ></TABLE
 ><P
@@ -3842,7 +4724,106 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6444"
+NAME="AEN8027"
+></A
+><H3
+><A
+NAME="XMLREMOVEREF"
+></A
+>xmlRemoveRef ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRemoveRef                    (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Remove the given attribute from the Ref table maintained internally.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>-1 if the lookup failed and 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN8052"
 ></A
 ><H3
 ><A
@@ -3858,9 +4839,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateRoot                 (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateRoot                 (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -3903,7 +4884,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3920,7 +4901,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3935,7 +4916,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3945,7 +4926,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6469"
+NAME="AEN8077"
 ></A
 ><H3
 ><A
@@ -3961,9 +4942,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateElementDecl          (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateElementDecl          (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4011,7 +4992,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4028,7 +5009,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4045,7 +5026,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element definition</TD
 ></TR
 ><TR
 ><TD
@@ -4060,7 +5041,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4070,7 +5051,167 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6499"
+NAME="AEN8107"
+></A
+><H3
+><A
+NAME="XMLVALIDNORMALIZEATTRIBUTEVALUE"
+></A
+>xmlValidNormalizeAttributeValue ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlValidNormalizeAttributeValue (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *value);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Does the validation related extra step of the normalization of attribute
+values:</P
+><P
+>If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters, and by replacing sequences of space
+(<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters by single space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) character.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the parent</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"
+>  the attribute name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute value</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a new normalized string if normalization is needed, NULL otherwise
+the caller must free the returned value.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN8147"
 ></A
 ><H3
 ><A
@@ -4086,9 +5227,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateAttributeDecl        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateAttributeDecl        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4138,7 +5279,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4155,7 +5296,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4172,7 +5313,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute definition</TD
 ></TR
 ><TR
 ><TD
@@ -4187,7 +5328,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4197,7 +5338,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6530"
+NAME="AEN8178"
 ></A
 ><H3
 ><A
@@ -4269,7 +5410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute type</TD
 ></TR
 ><TR
 ><TD
@@ -4286,7 +5427,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute value</TD
 ></TR
 ><TR
 ><TD
@@ -4301,7 +5442,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4311,7 +5452,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6559"
+NAME="AEN8207"
 ></A
 ><H3
 ><A
@@ -4327,9 +5468,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateNotationDecl         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateNotationDecl         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4376,7 +5517,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4393,7 +5534,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4410,7 +5551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a notation definition</TD
 ></TR
 ><TR
 ><TD
@@ -4425,7 +5566,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4435,7 +5576,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6589"
+NAME="AEN8237"
 ></A
 ><H3
 ><A
@@ -4451,9 +5592,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateDtd                  (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateDtd                  (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4467,7 +5608,7 @@
 ></TR
 ></TABLE
 ><P
->Try to validate the dtd instance</P
+>Try to validate the document against the dtd instance</P
 ><P
 >basically it does check all the definitions in the DtD.</P
 ><P
@@ -4498,7 +5639,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4515,7 +5656,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4532,7 +5673,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a dtd instance</TD
 ></TR
 ><TR
 ><TD
@@ -4547,7 +5688,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4557,7 +5698,113 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6620"
+NAME="AEN8268"
+></A
+><H3
+><A
+NAME="XMLVALIDATEDTDFINAL"
+></A
+>xmlValidateDtdFinal ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidateDtdFinal             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Does the final step for the dtds validation once all the
+subsets have been parsed</P
+><P
+>basically it does the following checks described by the XML Rec
+- check that ENTITY and ENTITIES type attributes default or 
+possible values matches one of the defined entities.
+- check that NOTATION type attributes default or 
+possible values matches one of the defined notations.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the validation context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a document instance</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if valid or 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN8294"
 ></A
 ><H3
 ><A
@@ -4573,9 +5820,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateDocument             (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateDocument             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4618,7 +5865,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4635,7 +5882,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4650,7 +5897,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4660,7 +5907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6646"
+NAME="AEN8320"
 ></A
 ><H3
 ><A
@@ -4676,9 +5923,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateElement              (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateElement              (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4721,7 +5968,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4738,7 +5985,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4755,7 +6002,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -4770,7 +6017,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4780,7 +6027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6676"
+NAME="AEN8350"
 ></A
 ><H3
 ><A
@@ -4796,9 +6043,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateOneElement           (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateOneElement           (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4851,7 +6098,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -4868,7 +6115,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -4885,7 +6132,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -4900,7 +6147,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -4910,7 +6157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6708"
+NAME="AEN8382"
 ></A
 ><H3
 ><A
@@ -4926,9 +6173,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateOneAttribute         (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateOneAttribute         (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -4951,7 +6198,7 @@
 ></TABLE
 ><P
 >Try to validate a single attribute for an element
-basically it * does the following checks as described by the
+basically it does the following checks as described by the
 XML-1.0 recommendation:
 - [ VC: Attribute Value Type ]
 - [ VC: Fixed Attribute Default ]
@@ -4991,7 +6238,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -5008,7 +6255,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -5025,7 +6272,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -5042,7 +6289,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute instance</TD
 ></TR
 ><TR
 ><TD
@@ -5059,7 +6306,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute value (without entities processing)</TD
 ></TR
 ><TR
 ><TD
@@ -5074,7 +6321,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -5084,7 +6331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6749"
+NAME="AEN8423"
 ></A
 ><H3
 ><A
@@ -5100,9 +6347,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateDocumentFinal        (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateDocumentFinal        (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -5144,7 +6391,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -5161,7 +6408,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -5176,7 +6423,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -5186,7 +6433,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6775"
+NAME="AEN8449"
 ></A
 ><H3
 ><A
@@ -5202,9 +6449,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         xmlValidateNotationUse          (<GTKDOCLINK
-HREF="XMLVALIDCTXTPTR"
->xmlValidCtxtPtr</GTKDOCLINK
+>int         xmlValidateNotationUse          (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
 > ctxt,
                                              <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
@@ -5248,7 +6495,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -5265,7 +6512,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -5282,7 +6529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the notation name to check</TD
 ></TR
 ><TR
 ><TD
@@ -5297,7 +6544,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -5307,7 +6554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6805"
+NAME="AEN8479"
 ></A
 ><H3
 ><A
@@ -5365,7 +6612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -5382,7 +6629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -5397,7 +6644,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 if no, 1 if yes, and -1 if no element description is available</TD
 ></TR
 ></TABLE
 ><P
@@ -5407,7 +6654,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6830"
+NAME="AEN8504"
 ></A
 ><H3
 ><A
@@ -5472,7 +6719,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to the DtD to search</TD
 ></TR
 ><TR
 ><TD
@@ -5489,7 +6736,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -5506,7 +6753,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -5521,7 +6768,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlAttributePtr if found or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -5531,7 +6778,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6861"
+NAME="AEN8535"
 ></A
 ><H3
 ><A
@@ -5591,7 +6838,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to the DtD to search</TD
 ></TR
 ><TR
 ><TD
@@ -5608,7 +6855,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the notation name</TD
 ></TR
 ><TR
 ><TD
@@ -5623,7 +6870,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlNotationPtr if found or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -5633,7 +6880,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6887"
+NAME="AEN8561"
 ></A
 ><H3
 ><A
@@ -5693,7 +6940,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to the DtD to search</TD
 ></TR
 ><TR
 ><TD
@@ -5710,7 +6957,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -5725,7 +6972,308 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlElementPtr if found or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN8587"
+></A
+><H3
+><A
+NAME="XMLVALIDGETVALIDELEMENTS"
+></A
+>xmlValidGetValidElements ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidGetValidElements        (<A
+HREF="gnome-xml-tree.html#XMLNODE"
+>xmlNode</A
+> *prev,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODE"
+>xmlNode</A
+> *next,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> **list,
+                                             int max);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This function returns the list of authorized children to insert
+within an existing tree while respecting the validity constraints
+forced by the Dtd. The insertion point is defined using <TT
+CLASS="PARAMETER"
+><I
+>prev</I
+></TT
+> and
+<TT
+CLASS="PARAMETER"
+><I
+>next</I
+></TT
+> in the following ways:
+to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ...
+to insert next 'node': xmlValidGetValidElements(node, node-&gt;next, ...
+to replace 'node': xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ...
+to prepend a child to 'node': xmlValidGetValidElements(NULL, node-&gt;childs,
+to append a child to 'node': xmlValidGetValidElements(node-&gt;last, NULL, ...</P
+><P
+>pointers to the element names are inserted at the beginning of the array
+and do not need to be freed.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>prev</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an element to insert after</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>next</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an element to insert next</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an array to store the list of child names</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>max</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size of the array</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 of element in the list, or -1 in case of error. If
+the function returns the value <TT
+CLASS="PARAMETER"
+><I
+>max</I
+></TT
+> the caller is invited to grow the
+receiving array and retry.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN8625"
+></A
+><H3
+><A
+NAME="XMLVALIDGETPOTENTIALCHILDREN"
+></A
+>xmlValidGetPotentialChildren ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidGetPotentialChildren    (<A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENT"
+>xmlElementContent</A
+> *ctree,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> **list,
+                                             int *len,
+                                             int max);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Build/extend a list of  potential children allowed by the content tree</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ctree</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an element content tree</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an array to store the list of child names</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to the number of element in the list</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>max</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size of the array</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 of element in the list, or -1 in case of error.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xml-error.html b/doc/html/gnome-xml-xml-error.html
index 6123053..2873a7c 100644
--- a/doc/html/gnome-xml-xml-error.html
+++ b/doc/html/gnome-xml-xml-error.html
@@ -4,7 +4,7 @@
 >xml-error</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-XML-ERROR"
->xml-error</A
-></H1
+>xml-error</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7132"
+NAME="AEN8907"
 ></A
 ><H2
 >Name</H2
->xml-error&nbsp;--&nbsp;</DIV
+>xml-error &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7135"
+NAME="AEN8910"
 ></A
 ><H2
 >Synopsis</H2
@@ -193,7 +187,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7147"
+NAME="AEN8922"
 ></A
 ><H2
 >Description</H2
@@ -203,14 +197,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7150"
+NAME="AEN8925"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7152"
+NAME="AEN8927"
 ></A
 ><H3
 ><A
@@ -350,7 +344,9 @@
     XML_ERR_ENTITY_CHAR_ERROR, /* 88 */
     XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
     XML_ERR_ENTITY_LOOP, /* 89 */
-    XML_ERR_ENTITY_BOUNDARY /* 90 */
+    XML_ERR_ENTITY_BOUNDARY, /* 90 */
+    XML_ERR_INVALID_URI, /* 91 */
+    XML_ERR_URI_FRAGMENT /* 92 */
 }xmlParserErrors;</PRE
 ></TD
 ></TR
@@ -361,7 +357,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7157"
+NAME="AEN8932"
 ></A
 ><H3
 ><A
@@ -414,7 +410,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -431,7 +427,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -448,7 +444,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -458,7 +454,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7180"
+NAME="AEN8955"
 ></A
 ><H3
 ><A
@@ -511,7 +507,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -528,7 +524,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -545,7 +541,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -555,7 +551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7203"
+NAME="AEN8978"
 ></A
 ><H3
 ><A
@@ -608,7 +604,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -625,7 +621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -642,7 +638,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -652,7 +648,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7226"
+NAME="AEN9001"
 ></A
 ><H3
 ><A
@@ -705,7 +701,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -722,7 +718,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -739,7 +735,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -749,7 +745,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7249"
+NAME="AEN9024"
 ></A
 ><H3
 ><A
@@ -802,7 +798,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an xmlParserInputPtr input</TD
 ></TR
 ></TABLE
 ><P
@@ -812,7 +808,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7265"
+NAME="AEN9040"
 ></A
 ><H3
 ><A
@@ -865,7 +861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an xmlParserInputPtr input</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xmlio.html b/doc/html/gnome-xml-xmlio.html
index 3824252..b6c82e3 100644
--- a/doc/html/gnome-xml-xmlio.html
+++ b/doc/html/gnome-xml-xmlio.html
@@ -4,7 +4,7 @@
 >xmlIO</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-XMLIO"
->xmlIO</A
-></H1
+>xmlIO</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8733"
+NAME="AEN10923"
 ></A
 ><H2
 >Name</H2
->xmlIO&nbsp;--&nbsp;</DIV
+>xmlIO &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8736"
+NAME="AEN10926"
 ></A
 ><H2
 >Synopsis</H2
@@ -144,10 +138,69 @@
 CLASS="SYNOPSIS"
 >&#13;
 
+int         (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTMATCHCALLBACK"
+>*xmlInputMatchCallback</A
+>)        (char const *filename);
+void*       (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTOPENCALLBACK"
+>*xmlInputOpenCallback</A
+>)         (char const *filename);
+int         (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>*xmlInputReadCallback</A
+>)         (void *context,
+                                             char *buffer,
+                                             int len);
+void        (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>*xmlInputCloseCallback</A
+>)        (void *context);
+struct      <A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFER"
+>xmlParserInputBuffer</A
+>;
 typedef     <A
 HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
 >xmlParserInputBufferPtr</A
 >;
+int         (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTMATCHCALLBACK"
+>*xmlOutputMatchCallback</A
+>)       (char const *filename);
+void*       (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTOPENCALLBACK"
+>*xmlOutputOpenCallback</A
+>)        (char const *filename);
+int         (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK"
+>*xmlOutputWriteCallback</A
+>)       (void *context,
+                                             const char *buffer,
+                                             int len);
+void        (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
+>*xmlOutputCloseCallback</A
+>)       (void *context);
+struct      <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFER"
+>xmlOutputBuffer</A
+>;
+typedef     <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+>;
+<A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLALLOCPARSERINPUTBUFFER"
+>xmlAllocParserInputBuffer</A
+>
+                                            (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
 <A
 HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
 >xmlParserInputBufferPtr</A
@@ -187,6 +240,26 @@
 HREF="gnome-xml-encoding.html#XMLCHARENCODING"
 >xmlCharEncoding</A
 > enc);
+<A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEIO"
+>xmlParserInputBufferCreateIO</A
+>
+                                            (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> ioread,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
 int         <A
 HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD"
 >xmlParserInputBufferRead</A
@@ -203,6 +276,15 @@
 >xmlParserInputBufferPtr</A
 > in,
                                              int len);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPUSH"
+>xmlParserInputBufferPush</A
+>        (<A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> in,
+                                             int len,
+                                             const char *buf);
 void        <A
 HREF="gnome-xml-xmlio.html#XMLFREEPARSERINPUTBUFFER"
 >xmlFreeParserInputBuffer</A
@@ -213,7 +295,156 @@
 char*       <A
 HREF="gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY"
 >xmlParserGetDirectory</A
->           (const char *filename);</PRE
+>           (const char *filename);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLREGISTERINPUTCALLBACKS"
+>xmlRegisterInputCallbacks</A
+>       (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTMATCHCALLBACK"
+>xmlInputMatchCallback</A
+> match,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTOPENCALLBACK"
+>xmlInputOpenCallback</A
+> open,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> read,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> close);
+<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLALLOCOUTPUTBUFFER"
+>xmlAllocOutputBuffer</A
+>     (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);
+<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFILENAME"
+>xmlOutputBufferCreateFilename</A
+>
+                                            (const char *URI,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder,
+                                             int compression);
+<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFILE"
+>xmlOutputBufferCreateFile</A
+>
+                                            (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *file,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);
+<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFD"
+>xmlOutputBufferCreateFd</A
+>  (int fd,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);
+<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEIO"
+>xmlOutputBufferCreateIO</A
+>  (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK"
+>xmlOutputWriteCallback</A
+> iowrite,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
+>xmlOutputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERWRITE"
+>xmlOutputBufferWrite</A
+>            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out,
+                                             int len,
+                                             const char *buf);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERWRITESTRING"
+>xmlOutputBufferWriteString</A
+>      (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out,
+                                             const char *str);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERFLUSH"
+>xmlOutputBufferFlush</A
+>            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERCLOSE"
+>xmlOutputBufferClose</A
+>            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLREGISTEROUTPUTCALLBACKS"
+>xmlRegisterOutputCallbacks</A
+>      (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTMATCHCALLBACK"
+>xmlOutputMatchCallback</A
+> match,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTOPENCALLBACK"
+>xmlOutputOpenCallback</A
+> open,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK"
+>xmlOutputWriteCallback</A
+> write,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
+>xmlOutputCloseCallback</A
+> close);
+int         <A
+HREF="gnome-xml-xmlio.html#XMLSAVEFILETO"
+>xmlSaveFileTo</A
+>                   (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFER"
+>xmlOutputBuffer</A
+> *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -221,7 +452,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8757"
+NAME="AEN11007"
 ></A
 ><H2
 >Description</H2
@@ -231,33 +462,20 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8760"
+NAME="AEN11010"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8762"
+NAME="AEN11012"
 ></A
 ><H3
 ><A
-NAME="XMLPARSERINPUTBUFFERPTR"
+NAME="XMLINPUTMATCHCALLBACK"
 ></A
->xmlParserInputBufferPtr</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8766"
-></A
-><H3
-><A
-NAME="XMLPARSERINPUTBUFFERCREATEFILENAME"
-></A
->xmlParserInputBufferCreateFilename ()</H3
+>xmlInputMatchCallback ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -267,24 +485,11 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
->xmlParserInputBufferPtr</A
-> xmlParserInputBufferCreateFilename
-                                            (const char *URI,
-                                             <A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> enc);</PRE
+>int         (*xmlInputMatchCallback)        (char const *filename);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Create a buffered parser input for the progressive parsing of a file
-If filename is "-' then we use stdin as the input.
-Automatic support for ZLIB/Compress compressed document is provided
-by default if found at compile-time.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -305,24 +510,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->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
->enc</I
+>filename</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -354,7 +542,839 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8791"
+NAME="AEN11030"
+></A
+><H3
+><A
+NAME="XMLINPUTOPENCALLBACK"
+></A
+>xmlInputOpenCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void*       (*xmlInputOpenCallback)         (char const *filename);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11044"
+></A
+><H3
+><A
+NAME="XMLINPUTREADCALLBACK"
+></A
+>xmlInputReadCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         (*xmlInputReadCallback)         (void *context,
+                                             char *buffer,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>context</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
+>buffer</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
+>len</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11070"
+></A
+><H3
+><A
+NAME="XMLINPUTCLOSECALLBACK"
+></A
+>xmlInputCloseCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*xmlInputCloseCallback)        (void *context);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>context</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11084"
+></A
+><H3
+><A
+NAME="XMLPARSERINPUTBUFFER"
+></A
+>struct xmlParserInputBuffer</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlParserInputBuffer {
+    void*                  context;
+    xmlInputReadCallback   readcallback;
+    xmlInputCloseCallback  closecallback;
+    
+    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
+    
+    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
+    xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11089"
+></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="AEN11094"
+></A
+><H3
+><A
+NAME="XMLOUTPUTMATCHCALLBACK"
+></A
+>xmlOutputMatchCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         (*xmlOutputMatchCallback)       (char const *filename);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11112"
+></A
+><H3
+><A
+NAME="XMLOUTPUTOPENCALLBACK"
+></A
+>xmlOutputOpenCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void*       (*xmlOutputOpenCallback)        (char const *filename);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11126"
+></A
+><H3
+><A
+NAME="XMLOUTPUTWRITECALLBACK"
+></A
+>xmlOutputWriteCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         (*xmlOutputWriteCallback)       (void *context,
+                                             const char *buffer,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>context</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
+>buffer</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
+>len</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
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11152"
+></A
+><H3
+><A
+NAME="XMLOUTPUTCLOSECALLBACK"
+></A
+>xmlOutputCloseCallback ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*xmlOutputCloseCallback)       (void *context);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>context</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11166"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFER"
+></A
+>struct xmlOutputBuffer</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlOutputBuffer {
+    void*                   context;
+    xmlOutputWriteCallback  writecallback;
+    xmlOutputCloseCallback  closecallback;
+    
+    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
+    
+    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
+    xmlBufferPtr conv;      /* if encoder != NULL buffer for output */
+    int written;            /* total number of byte written */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11171"
+></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="AEN11176"
+></A
+><H3
+><A
+NAME="XMLALLOCPARSERINPUTBUFFER"
+></A
+>xmlAllocParserInputBuffer ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> xmlAllocParserInputBuffer
+                                            (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered parser input for progressive parsing</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the charset encoding if known</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser input or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11197"
+></A
+><H3
+><A
+NAME="XMLPARSERINPUTBUFFERCREATEFILENAME"
+></A
+>xmlParserInputBufferCreateFilename ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> xmlParserInputBufferCreateFilename
+                                            (const char *URI,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered parser input for the progressive parsing of a file
+If filename is "-' then we use stdin as the input.
+Automatic support for ZLIB/Compress compressed document is provided
+by default if found at compile-time.
+Do an encoding check if enc == XML_CHAR_ENCODING_NONE</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URI</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a C string containing the URI or filename</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the charset encoding if known</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser input or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11222"
 ></A
 ><H3
 ><A
@@ -416,7 +1436,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a FILE* </TD
 ></TR
 ><TR
 ><TD
@@ -433,7 +1453,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the charset encoding if known</TD
 ></TR
 ><TR
 ><TD
@@ -448,7 +1468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser input or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -458,7 +1478,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8817"
+NAME="AEN11248"
 ></A
 ><H3
 ><A
@@ -517,7 +1537,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a file descriptor number</TD
 ></TR
 ><TR
 ><TD
@@ -534,7 +1554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the charset encoding if known</TD
 ></TR
 ><TR
 ><TD
@@ -549,7 +1569,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser input or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -559,7 +1579,150 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8842"
+NAME="AEN11273"
+></A
+><H3
+><A
+NAME="XMLPARSERINPUTBUFFERCREATEIO"
+></A
+>xmlParserInputBufferCreateIO ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> xmlParserInputBufferCreateIO
+                                            (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> ioread,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered parser input for the progressive parsing for the input
+from an I/O handler</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioread</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O read function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioclose</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O close function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>enc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the charset encoding if known</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser input or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11308"
 ></A
 ><H3
 ><A
@@ -615,7 +1778,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a buffered parser input</TD
 ></TR
 ><TR
 ><TD
@@ -632,7 +1795,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  indicative value of the amount of chars to read</TD
 ></TR
 ><TR
 ><TD
@@ -647,7 +1810,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of chars read and stored in the buffer, or -1
+in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -657,7 +1821,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8866"
+NAME="AEN11332"
 ></A
 ><H3
 ><A
@@ -684,7 +1848,10 @@
 ><P
 >Grow up the content of the input buffer, the old data are preserved
 This routine handle the I18N transcoding to internal UTF-8
-TODO: one should be able to remove one extra copy</P
+This routine is used when operating the parser in normal (pull) mode</P
+><P
+>TODO: one should be able to remove one extra copy by copying directy
+onto in-&gt;buffer or in-&gt;raw</P
 ><P
 ></P
 ><DIV
@@ -713,7 +1880,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a buffered parser input</TD
 ></TR
 ><TR
 ><TD
@@ -730,7 +1897,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  indicative value of the amount of chars to read</TD
 ></TR
 ><TR
 ><TD
@@ -745,7 +1912,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of chars read and stored in the buffer, or -1
+in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -755,7 +1923,124 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8890"
+NAME="AEN11357"
+></A
+><H3
+><A
+NAME="XMLPARSERINPUTBUFFERPUSH"
+></A
+>xmlParserInputBufferPush ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParserInputBufferPush        (<A
+HREF="gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR"
+>xmlParserInputBufferPtr</A
+> in,
+                                             int len,
+                                             const char *buf);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Push the content of the arry in the input buffer
+This routine handle the I18N transcoding to internal UTF-8
+This is used when operating the parser in progressive (push) mode.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a buffered parser input</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size in bytes of the array.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an char array</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 of chars read and stored in the buffer, or -1
+in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11385"
 ></A
 ><H3
 ><A
@@ -808,7 +2093,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a buffered parser input</TD
 ></TR
 ></TABLE
 ><P
@@ -818,7 +2103,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8906"
+NAME="AEN11401"
 ></A
 ><H3
 ><A
@@ -888,6 +2173,1330 @@
 ></P
 ></DIV
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11419"
+></A
+><H3
+><A
+NAME="XMLREGISTERINPUTCALLBACKS"
+></A
+>xmlRegisterInputCallbacks ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRegisterInputCallbacks       (<A
+HREF="gnome-xml-xmlio.html#XMLINPUTMATCHCALLBACK"
+>xmlInputMatchCallback</A
+> match,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTOPENCALLBACK"
+>xmlInputOpenCallback</A
+> open,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTREADCALLBACK"
+>xmlInputReadCallback</A
+> read,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK"
+>xmlInputCloseCallback</A
+> close);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Register a new set of I/O callback for handling parser input.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>match</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlInputMatchCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>open</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlInputOpenCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>read</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlInputReadCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>close</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlInputCloseCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the registered handler number or -1 in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11454"
+></A
+><H3
+><A
+NAME="XMLALLOCOUTPUTBUFFER"
+></A
+>xmlAllocOutputBuffer ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> xmlAllocOutputBuffer     (<A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered parser output</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>encoder</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding converter or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser output or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11475"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERCREATEFILENAME"
+></A
+>xmlOutputBufferCreateFilename ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> xmlOutputBufferCreateFilename
+                                            (const char *URI,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder,
+                                             int compression);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered  output for the progressive saving of a file
+If filename is "-' then we use stdout as the output.
+Automatic support for ZLIB/Compress compressed document is provided
+by default if found at compile-time.
+TODO: currently if compression is set, the library only support
+writing to a local file.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URI</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a C string containing the URI or filename</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>encoder</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding converter or NULL</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"
+>  the compression ration (0 none, 9 max).</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new output or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11504"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERCREATEFILE"
+></A
+>xmlOutputBufferCreateFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> xmlOutputBufferCreateFile
+                                            (<GTKDOCLINK
+HREF="FILE"
+>FILE</GTKDOCLINK
+> *file,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered output for the progressive saving to a FILE *
+buffered C I/O</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>file</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a FILE* </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>encoder</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding converter or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser output or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11530"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERCREATEFD"
+></A
+>xmlOutputBufferCreateFd ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> xmlOutputBufferCreateFd  (int fd,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered output for the progressive saving 
+to a file descriptor</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>fd</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a file descriptor number</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>encoder</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the encoding converter or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser output or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11555"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERCREATEIO"
+></A
+>xmlOutputBufferCreateIO ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> xmlOutputBufferCreateIO  (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK"
+>xmlOutputWriteCallback</A
+> iowrite,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
+>xmlOutputCloseCallback</A
+> ioclose,
+                                             void *ioctx,
+                                             <A
+HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR"
+>xmlCharEncodingHandlerPtr</A
+> encoder);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a buffered output for the progressive saving
+to an I/O handler</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>iowrite</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O write function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioclose</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O close function</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ioctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an I/O handler</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>encoder</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser output or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11590"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERWRITE"
+></A
+>xmlOutputBufferWrite ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlOutputBufferWrite            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out,
+                                             int len,
+                                             const char *buf);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Write the content of the array in the output I/O buffer
+This routine handle the I18N transcoding from internal UTF-8
+The buffer is lossless, i.e. will store in case of partial
+or delayed writes.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a buffered parser output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the size in bytes of the array.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an char array</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 of chars immediately written, or -1
+in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11618"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERWRITESTRING"
+></A
+>xmlOutputBufferWriteString ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlOutputBufferWriteString      (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out,
+                                             const char *str);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Write the content of the string in the output I/O buffer
+This routine handle the I18N transcoding from internal UTF-8
+The buffer is lossless, i.e. will store in case of partial
+or delayed writes.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a buffered parser output</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"
+>  a zero terminated C string</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 of chars immediately written, or -1
+in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11642"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERFLUSH"
+></A
+>xmlOutputBufferFlush ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlOutputBufferFlush            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out);</PRE
+></TD
+></TR
+></TABLE
+><P
+>flushes the output I/O channel</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a buffered output</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 of byte written or -1 in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11662"
+></A
+><H3
+><A
+NAME="XMLOUTPUTBUFFERCLOSE"
+></A
+>xmlOutputBufferClose ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlOutputBufferClose            (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR"
+>xmlOutputBufferPtr</A
+> out);</PRE
+></TD
+></TR
+></TABLE
+><P
+>flushes and close the output I/O channel
+and free up all the associated resources</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a buffered output</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 of byte written or -1 in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11682"
+></A
+><H3
+><A
+NAME="XMLREGISTEROUTPUTCALLBACKS"
+></A
+>xmlRegisterOutputCallbacks ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlRegisterOutputCallbacks      (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTMATCHCALLBACK"
+>xmlOutputMatchCallback</A
+> match,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTOPENCALLBACK"
+>xmlOutputOpenCallback</A
+> open,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK"
+>xmlOutputWriteCallback</A
+> write,
+                                             <A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK"
+>xmlOutputCloseCallback</A
+> close);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Register a new set of I/O callback for handling output.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>match</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlOutputMatchCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>open</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlOutputOpenCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>write</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlOutputWriteCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>close</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlOutputCloseCallback</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the registered handler number or -1 in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11717"
+></A
+><H3
+><A
+NAME="XMLSAVEFILETO"
+></A
+>xmlSaveFileTo ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSaveFileTo                   (<A
+HREF="gnome-xml-xmlio.html#XMLOUTPUTBUFFER"
+>xmlOutputBuffer</A
+> *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> cur,
+                                             const char *encoding);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Dump an XML document to an I/O buffer.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an output I/O buffer</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"
+>  the document</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"
+>  the encoding if any assuming the i/O layer handles the trancoding</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 of file written or -1 in case of failure.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/doc/html/gnome-xml-xmlmemory.html b/doc/html/gnome-xml-xmlmemory.html
index 68ecd45..4244bf4 100644
--- a/doc/html/gnome-xml-xmlmemory.html
+++ b/doc/html/gnome-xml-xmlmemory.html
@@ -4,7 +4,7 @@
 >xmlmemory</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -17,9 +17,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -102,22 +99,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-XMLMEMORY"
->xmlmemory</A
-></H1
+>xmlmemory</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN11337"
+NAME="AEN14634"
 ></A
 ><H2
 >Name</H2
->xmlmemory&nbsp;--&nbsp;</DIV
+>xmlmemory &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN11340"
+NAME="AEN14637"
 ></A
 ><H2
 >Synopsis</H2
@@ -133,26 +127,84 @@
 >&#13;
 
 #define     <A
-HREF="gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY"
->NO_DEBUG_MEMORY</A
+HREF="gnome-xml-xmlmemory.html#DEBUG-MEMORY"
+>DEBUG_MEMORY</A
 >
-void        <A
+#define     <A
+HREF="gnome-xml-xmlmemory.html#MEM-LIST"
+>MEM_LIST</A
+>
+void        (<A
+HREF="gnome-xml-xmlmemory.html#XMLFREEFUNC"
+>*xmlFreeFunc</A
+>)                  (void*);
+void*       (<A
+HREF="gnome-xml-xmlmemory.html#XMLMALLOCFUNC"
+>*xmlMallocFunc</A
+>)                (...);
+void*       (<A
+HREF="gnome-xml-xmlmemory.html#XMLREALLOCFUNC"
+>*xmlReallocFunc</A
+>)               (void*,
+                                             ...);
+char*       (<A
+HREF="gnome-xml-xmlmemory.html#XMLSTRDUPFUNC"
+>*xmlStrdupFunc</A
+>)                (const char*);
+extern      xmlFreeFunc <A
 HREF="gnome-xml-xmlmemory.html#XMLFREE"
 >xmlFree</A
->                         (void *ptr);
-void*       <A
+>;
+extern      xmlMallocFunc <A
 HREF="gnome-xml-xmlmemory.html#XMLMALLOC"
 >xmlMalloc</A
->                       (int size);
-void*       <A
+>;
+extern      xmlReallocFunc <A
 HREF="gnome-xml-xmlmemory.html#XMLREALLOC"
 >xmlRealloc</A
->                      (void *ptr,
-                                             int size);
-char*       <A
+>;
+extern      xmlStrdupFunc <A
 HREF="gnome-xml-xmlmemory.html#XMLMEMSTRDUP"
 >xmlMemStrdup</A
->                    (const char *str);
+>;
+int         <A
+HREF="gnome-xml-xmlmemory.html#XMLMEMSETUP"
+>xmlMemSetup</A
+>                     (<A
+HREF="gnome-xml-xmlmemory.html#XMLFREEFUNC"
+>xmlFreeFunc</A
+> freeFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLMALLOCFUNC"
+>xmlMallocFunc</A
+> mallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLREALLOCFUNC"
+>xmlReallocFunc</A
+> reallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLSTRDUPFUNC"
+>xmlStrdupFunc</A
+> strdupFunc);
+int         <A
+HREF="gnome-xml-xmlmemory.html#XMLMEMGET"
+>xmlMemGet</A
+>                       (<A
+HREF="gnome-xml-xmlmemory.html#XMLFREEFUNC"
+>xmlFreeFunc</A
+> *freeFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLMALLOCFUNC"
+>xmlMallocFunc</A
+> *mallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLREALLOCFUNC"
+>xmlReallocFunc</A
+> *reallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLSTRDUPFUNC"
+>xmlStrdupFunc</A
+> *strdupFunc);
 int         <A
 HREF="gnome-xml-xmlmemory.html#XMLINITMEMORY"
 >xmlInitMemory</A
@@ -162,10 +214,6 @@
 >xmlMemUsed</A
 >                      (void);
 void        <A
-HREF="gnome-xml-xmlmemory.html#XMLMEMORYDUMP"
->xmlMemoryDump</A
->                   (void);
-void        <A
 HREF="gnome-xml-xmlmemory.html#XMLMEMDISPLAY"
 >xmlMemDisplay</A
 >                   (<GTKDOCLINK
@@ -180,18 +228,10 @@
 >FILE</GTKDOCLINK
 > *fp,
                                              int nr);
-#define     <A
-HREF="gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION"
->DEBUG_MEMORY_LOCATION</A
->
-#define     <A
-HREF="gnome-xml-xmlmemory.html#DEBUG-MEMORY"
->DEBUG_MEMORY</A
->
-#define     <A
-HREF="gnome-xml-xmlmemory.html#MEM-LIST"
->MEM_LIST</A
->
+void        <A
+HREF="gnome-xml-xmlmemory.html#XMLMEMORYDUMP"
+>xmlMemoryDump</A
+>                   (void);
 void*       <A
 HREF="gnome-xml-xmlmemory.html#XMLMALLOCLOC"
 >xmlMallocLoc</A
@@ -218,7 +258,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11361"
+NAME="AEN14670"
 ></A
 ><H2
 >Description</H2
@@ -228,20 +268,20 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11364"
+NAME="AEN14673"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11366"
+NAME="AEN14675"
 ></A
 ><H3
 ><A
-NAME="NO-DEBUG-MEMORY"
+NAME="DEBUG-MEMORY"
 ></A
->NO_DEBUG_MEMORY</H3
+>DEBUG_MEMORY</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -251,7 +291,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define NO_DEBUG_MEMORY</PRE
+>#define DEBUG_MEMORY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -261,13 +301,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11371"
+NAME="AEN14680"
 ></A
 ><H3
 ><A
-NAME="XMLFREE"
+NAME="MEM-LIST"
 ></A
->xmlFree ()</H3
+>MEM_LIST</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -277,15 +317,36 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlFree                         (void *ptr);</PRE
+>#define MEM_LIST /* keep a list of all the allocated memory blocks */</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->a <GTKDOCLINK
-HREF="FREE"
->free</GTKDOCLINK
->() equivalent, with error checking.</P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14685"
+></A
+><H3
+><A
+NAME="XMLFREEFUNC"
+></A
+>xmlFreeFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*xmlFreeFunc)                  (void*);</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ><DIV
@@ -307,7 +368,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ptr</I
+>Param1</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -324,13 +385,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11387"
+NAME="AEN14699"
 ></A
 ><H3
 ><A
-NAME="XMLMALLOC"
+NAME="XMLMALLOCFUNC"
 ></A
->xmlMalloc ()</H3
+>xmlMallocFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -340,16 +401,11 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void*       xmlMalloc                       (int size);</PRE
+>void*       (*xmlMallocFunc)                (...);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->a <GTKDOCLINK
-HREF="MALLOC"
->malloc</GTKDOCLINK
->() equivalent, with logging of the allocation info.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -370,7 +426,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->size</I
+>...</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -387,13 +443,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11403"
+NAME="AEN14713"
 ></A
 ><H3
 ><A
-NAME="XMLREALLOC"
+NAME="XMLREALLOCFUNC"
 ></A
->xmlRealloc ()</H3
+>xmlReallocFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -403,17 +459,12 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void*       xmlRealloc                      (void *ptr,
-                                             int size);</PRE
+>void*       (*xmlReallocFunc)               (void*,
+                                             ...);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->a <GTKDOCLINK
-HREF="REALLOC"
->realloc</GTKDOCLINK
->() equivalent, with logging of the allocation info.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -434,7 +485,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ptr</I
+>Param1</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -451,7 +502,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->size</I
+>...</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -468,13 +519,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11423"
+NAME="AEN14731"
 ></A
 ><H3
 ><A
-NAME="XMLMEMSTRDUP"
+NAME="XMLSTRDUPFUNC"
 ></A
->xmlMemStrdup ()</H3
+>xmlStrdupFunc ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -484,16 +535,11 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->char*       xmlMemStrdup                    (const char *str);</PRE
+>char*       (*xmlStrdupFunc)                (const char*);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->a <GTKDOCLINK
-HREF="STRDUP"
->strdup</GTKDOCLINK
->() equivalent, with logging of the allocation info.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -514,7 +560,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->str</I
+>Param1</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -546,7 +592,421 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11443"
+NAME="AEN14749"
+></A
+><H3
+><A
+NAME="XMLFREE"
+></A
+>xmlFree</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlFreeFunc xmlFree;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14754"
+></A
+><H3
+><A
+NAME="XMLMALLOC"
+></A
+>xmlMalloc</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlMallocFunc xmlMalloc;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14759"
+></A
+><H3
+><A
+NAME="XMLREALLOC"
+></A
+>xmlRealloc</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlReallocFunc xmlRealloc;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14764"
+></A
+><H3
+><A
+NAME="XMLMEMSTRDUP"
+></A
+>xmlMemStrdup</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlStrdupFunc xmlMemStrdup;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14769"
+></A
+><H3
+><A
+NAME="XMLMEMSETUP"
+></A
+>xmlMemSetup ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlMemSetup                     (<A
+HREF="gnome-xml-xmlmemory.html#XMLFREEFUNC"
+>xmlFreeFunc</A
+> freeFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLMALLOCFUNC"
+>xmlMallocFunc</A
+> mallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLREALLOCFUNC"
+>xmlReallocFunc</A
+> reallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLSTRDUPFUNC"
+>xmlStrdupFunc</A
+> strdupFunc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Override the default memory access functions with a new set
+This has to be called before any other libxml routines !</P
+><P
+>Should this be blocked if there was already some allocations
+done ?</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>freeFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="FREE"
+>free</GTKDOCLINK
+>() function to use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>mallocFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="MALLOC"
+>malloc</GTKDOCLINK
+>() function to use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>reallocFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="REALLOC"
+>realloc</GTKDOCLINK
+>() function to use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>strdupFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="STRDUP"
+>strdup</GTKDOCLINK
+>() function to use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 on success</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14809"
+></A
+><H3
+><A
+NAME="XMLMEMGET"
+></A
+>xmlMemGet ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlMemGet                       (<A
+HREF="gnome-xml-xmlmemory.html#XMLFREEFUNC"
+>xmlFreeFunc</A
+> *freeFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLMALLOCFUNC"
+>xmlMallocFunc</A
+> *mallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLREALLOCFUNC"
+>xmlReallocFunc</A
+> *reallocFunc,
+                                             <A
+HREF="gnome-xml-xmlmemory.html#XMLSTRDUPFUNC"
+>xmlStrdupFunc</A
+> *strdupFunc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Return the memory access functions set currently in use</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>freeFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="FREE"
+>free</GTKDOCLINK
+>() function in use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>mallocFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="MALLOC"
+>malloc</GTKDOCLINK
+>() function in use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>reallocFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="REALLOC"
+>realloc</GTKDOCLINK
+>() function in use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>strdupFunc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the <GTKDOCLINK
+HREF="STRDUP"
+>strdup</GTKDOCLINK
+>() function in use</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 on success</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN14848"
 ></A
 ><H3
 ><A
@@ -594,7 +1054,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 on success</TD
 ></TR
 ></TABLE
 ><P
@@ -604,7 +1064,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11458"
+NAME="AEN14863"
 ></A
 ><H3
 ><A
@@ -652,7 +1112,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>an int representing the amount of memory allocated.</TD
 ></TR
 ></TABLE
 ><P
@@ -662,35 +1122,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11473"
-></A
-><H3
-><A
-NAME="XMLMEMORYDUMP"
-></A
->xmlMemoryDump ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlMemoryDump                   (void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Dump in-extenso the memory blocks allocated to the file .memorylist</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11479"
+NAME="AEN14878"
 ></A
 ><H3
 ><A
@@ -743,7 +1175,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a FILE descriptor used as the output file, if NULL, the result is
+written to the file .memorylist</TD
 ></TR
 ></TABLE
 ><P
@@ -753,7 +1186,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11495"
+NAME="AEN14894"
 ></A
 ><H3
 ><A
@@ -813,7 +1246,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a FILE descriptor used as the output file</TD
 ></TR
 ><TR
 ><TD
@@ -830,7 +1263,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  number of entries to dump</TD
 ></TR
 ></TABLE
 ><P
@@ -840,13 +1273,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11516"
+NAME="AEN14915"
 ></A
 ><H3
 ><A
-NAME="DEBUG-MEMORY-LOCATION"
+NAME="XMLMEMORYDUMP"
 ></A
->DEBUG_MEMORY_LOCATION</H3
+>xmlMemoryDump ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -856,69 +1289,19 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     DEBUG_MEMORY_LOCATION</PRE
+>void        xmlMemoryDump                   (void);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
+>Dump in-extenso the memory blocks allocated to the file .memorylist</P
+><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11521"
-></A
-><H3
-><A
-NAME="DEBUG-MEMORY"
-></A
->DEBUG_MEMORY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     DEBUG_MEMORY</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11526"
-></A
-><H3
-><A
-NAME="MEM-LIST"
-></A
->MEM_LIST</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     MEM_LIST</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11531"
+NAME="AEN14921"
 ></A
 ><H3
 ><A
@@ -973,7 +1356,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an int specifying the size in byte to allocate.</TD
 ></TR
 ><TR
 ><TD
@@ -990,7 +1373,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the line number</TD
+>  the file name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1007,7 +1390,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the line number</TD
 ></TR
 ></TABLE
 ><P
@@ -1017,7 +1400,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11555"
+NAME="AEN14945"
 ></A
 ><H3
 ><A
@@ -1073,7 +1456,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the initial memory block pointer</TD
 ></TR
 ><TR
 ><TD
@@ -1090,7 +1473,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an int specifying the size in byte to allocate.</TD
 ></TR
 ><TR
 ><TD
@@ -1107,7 +1490,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the line number</TD
+>  the file name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1124,7 +1507,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the line number</TD
 ></TR
 ></TABLE
 ><P
@@ -1134,7 +1517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11583"
+NAME="AEN14973"
 ></A
 ><H3
 ><A
@@ -1206,7 +1589,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the line number</TD
+>  the file name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1223,7 +1606,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the line number</TD
 ></TR
 ><TR
 ><TD
@@ -1238,7 +1621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new string or NULL if allocation error occured.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index 5fd98ba..14c2626 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -4,7 +4,7 @@
 >xpath</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,9 +20,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -114,22 +111,19 @@
 ></TABLE
 ></DIV
 ><H1
-><A
-NAME="GNOME-XML-XPATH"
->xpath</A
-></H1
+>xpath</H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7711"
+NAME="AEN9741"
 ></A
 ><H2
 >Name</H2
->xpath&nbsp;--&nbsp;</DIV
+>xpath &#8212; </DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7714"
+NAME="AEN9744"
 ></A
 ><H2
 >Synopsis</H2
@@ -144,6 +138,30 @@
 CLASS="SYNOPSIS"
 >&#13;
 
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXT"
+>xmlXPathContext</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXT"
+>xmlXPathParserContext</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLNODESET"
+>xmlNodeSet</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+>;
 #define     <A
 HREF="gnome-xml-xpath.html#XPATH-UNDEFINED"
 >XPATH_UNDEFINED</A
@@ -168,47 +186,87 @@
 HREF="gnome-xml-xpath.html#XPATH-USERS"
 >XPATH_USERS</A
 >
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECT"
+>xmlXPathObject</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+>;
 int         (<A
 HREF="gnome-xml-xpath.html#XMLXPATHCONVERTFUNC"
 >*xmlXPathConvertFunc</A
->)          (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>)          (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj,
                                              int type);
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHTYPE"
+>xmlXPathType</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHTYPEPTR"
+>xmlXPathTypePtr</A
+>;
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHVARIABLE"
+>xmlXPathVariable</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHVARIABLEPTR"
+>xmlXPathVariablePtr</A
+>;
 void        (<A
 HREF="gnome-xml-xpath.html#XMLXPATHEVALFUNC"
 >*xmlXPathEvalFunc</A
->)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHFUNCT"
+>xmlXPathFunct</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHFUNCPTR"
+>xmlXPathFuncPtr</A
+>;
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > (<A
 HREF="gnome-xml-xpath.html#XMLXPATHAXISFUNC"
 >*xmlXPathAxisFunc</A
->)       (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)       (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > cur);
+struct      <A
+HREF="gnome-xml-xpath.html#XMLXPATHAXIS"
+>xmlXPathAxis</A
+>;
+typedef     <A
+HREF="gnome-xml-xpath.html#XMLXPATHAXISPTR"
+>xmlXPathAxisPtr</A
+>;
 void        (<A
 HREF="gnome-xml-xpath.html#XMLXPATHFUNCTION"
 >*xmlXPathFunction</A
->)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);
-<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHNEWCONTEXT"
 >xmlXPathNewContext</A
@@ -219,13 +277,13 @@
 void        <A
 HREF="gnome-xml-xpath.html#XMLXPATHFREECONTEXT"
 >xmlXPathFreeContext</A
->             (<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+>             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHEVAL"
 >xmlXPathEval</A
@@ -233,20 +291,20 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);
 void        <A
 HREF="gnome-xml-xpath.html#XMLXPATHFREEOBJECT"
 >xmlXPathFreeObject</A
->              (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>              (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj);
-<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > <A
 HREF="gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION"
 >xmlXPathEvalExpression</A
@@ -254,10 +312,34 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
-> ctxt);</PRE
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
+> ctxt);
+<A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> <A
+HREF="gnome-xml-xpath.html#XMLXPATHNODESETCREATE"
+>xmlXPathNodeSetCreate</A
+>         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> val);
+void        <A
+HREF="gnome-xml-xpath.html#XMLXPATHFREENODESETLIST"
+>xmlXPathFreeNodeSetList</A
+>         (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> obj);
+void        <A
+HREF="gnome-xml-xpath.html#XMLXPATHFREENODESET"
+>xmlXPathFreeNodeSet</A
+>             (<A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> obj);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -265,7 +347,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7748"
+NAME="AEN9801"
 ></A
 ><H2
 >Description</H2
@@ -275,14 +357,210 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7751"
+NAME="AEN9804"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7753"
+NAME="AEN9806"
+></A
+><H3
+><A
+NAME="XMLXPATHCONTEXT"
+></A
+>struct xmlXPathContext</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathContext {
+    xmlDocPtr doc;			/* The current document */
+    xmlNodePtr node;			/* The current node */
+    xmlNodeSetPtr nodelist;		/* The current node list */
+
+    int nb_variables;			/* number of defined variables */
+    int max_variables;			/* max number of variables */
+    xmlXPathVariablePtr *variables;	/* Array of defined variables */
+
+    int nb_types;			/* number of defined types */
+    int max_types;			/* max number of types */
+    xmlXPathTypePtr *types;		/* Array of defined types */
+
+    int nb_funcs;			/* number of defined funcs */
+    int max_funcs;			/* max number of funcs */
+    xmlXPathFuncPtr *funcs;		/* Array of defined funcs */
+
+    int nb_axis;			/* number of defined axis */
+    int max_axis;			/* max number of axis */
+    xmlXPathAxisPtr *axis;		/* Array of defined axis */
+
+    /* Namespace traversal should be implemented with user */
+    xmlNsPtr *namespaces;		/* The namespaces lookup */
+    int nsNr;				/* the current Namespace index */
+    void *user;				/* user defined extra info */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9811"
+></A
+><H3
+><A
+NAME="XMLXPATHCONTEXTPTR"
+></A
+>xmlXPathContextPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathContext *xmlXPathContextPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9816"
+></A
+><H3
+><A
+NAME="XMLXPATHPARSERCONTEXT"
+></A
+>struct xmlXPathParserContext</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathParserContext {
+    const xmlChar *cur;			/* the current char being parsed */
+    const xmlChar *base;			/* the full expression */
+
+    int error;				/* error code */
+
+    xmlXPathContextPtr  context;	/* the evaluation context */
+    xmlXPathObjectPtr     value;	/* the current value */
+    int                 valueNr;	/* number of values stacked */
+    int                valueMax;	/* max number of values stacked */
+    xmlXPathObjectPtr *valueTab;	/* stack of values */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9821"
+></A
+><H3
+><A
+NAME="XMLXPATHPARSERCONTEXTPTR"
+></A
+>xmlXPathParserContextPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathParserContext *xmlXPathParserContextPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9826"
+></A
+><H3
+><A
+NAME="XMLNODESET"
+></A
+>struct xmlNodeSet</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlNodeSet {
+    int nodeNr;			/* number of nodes in the set */
+    int nodeMax;		/* size of the array as allocated */
+    xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9831"
+></A
+><H3
+><A
+NAME="XMLNODESETPTR"
+></A
+>xmlNodeSetPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNodeSet *xmlNodeSetPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9836"
 ></A
 ><H3
 ><A
@@ -298,7 +576,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_UNDEFINED</PRE
+>#define XPATH_UNDEFINED	0</PRE
 ></TD
 ></TR
 ></TABLE
@@ -308,7 +586,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7758"
+NAME="AEN9841"
 ></A
 ><H3
 ><A
@@ -324,7 +602,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NODESET</PRE
+>#define XPATH_NODESET	1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -334,7 +612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7763"
+NAME="AEN9846"
 ></A
 ><H3
 ><A
@@ -350,7 +628,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_BOOLEAN</PRE
+>#define XPATH_BOOLEAN	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -360,7 +638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7768"
+NAME="AEN9851"
 ></A
 ><H3
 ><A
@@ -376,7 +654,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NUMBER</PRE
+>#define XPATH_NUMBER	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -386,7 +664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7773"
+NAME="AEN9856"
 ></A
 ><H3
 ><A
@@ -402,7 +680,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_STRING</PRE
+>#define XPATH_STRING	4</PRE
 ></TD
 ></TR
 ></TABLE
@@ -412,7 +690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7778"
+NAME="AEN9861"
 ></A
 ><H3
 ><A
@@ -428,7 +706,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_USERS</PRE
+>#define XPATH_USERS	5</PRE
 ></TD
 ></TR
 ></TABLE
@@ -438,7 +716,66 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7783"
+NAME="AEN9866"
+></A
+><H3
+><A
+NAME="XMLXPATHOBJECT"
+></A
+>struct xmlXPathObject</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathObject {
+    int type;
+    xmlNodeSetPtr nodesetval;
+    int boolval;
+    double floatval;
+    xmlChar *stringval;
+    void *user;
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9871"
+></A
+><H3
+><A
+NAME="XMLXPATHOBJECTPTR"
+></A
+>xmlXPathObjectPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathObject *xmlXPathObjectPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9876"
 ></A
 ><H3
 ><A
@@ -454,9 +791,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         (*xmlXPathConvertFunc)          (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>int         (*xmlXPathConvertFunc)          (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj,
                                              int type);</PRE
 ></TD
@@ -532,7 +869,117 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7806"
+NAME="AEN9899"
+></A
+><H3
+><A
+NAME="XMLXPATHTYPE"
+></A
+>struct xmlXPathType</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathType {
+    const xmlChar         *name;		/* the type name */
+    xmlXPathConvertFunc func;		/* the conversion function */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9904"
+></A
+><H3
+><A
+NAME="XMLXPATHTYPEPTR"
+></A
+>xmlXPathTypePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathType *xmlXPathTypePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9909"
+></A
+><H3
+><A
+NAME="XMLXPATHVARIABLE"
+></A
+>struct xmlXPathVariable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathVariable {
+    const xmlChar       *name;		/* the variable name */
+    xmlXPathObjectPtr value;		/* the value */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9914"
+></A
+><H3
+><A
+NAME="XMLXPATHVARIABLEPTR"
+></A
+>xmlXPathVariablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathVariable *xmlXPathVariablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9919"
 ></A
 ><H3
 ><A
@@ -548,9 +995,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlXPathEvalFunc)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>void        (*xmlXPathEvalFunc)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);</PRE
 ></TD
@@ -611,7 +1058,62 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7825"
+NAME="AEN9938"
+></A
+><H3
+><A
+NAME="XMLXPATHFUNCT"
+></A
+>struct xmlXPathFunct</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathFunct {
+    const xmlChar      *name;		/* the function name */
+    xmlXPathEvalFunc func;		/* the evaluation function */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9943"
+></A
+><H3
+><A
+NAME="XMLXPATHFUNCPTR"
+></A
+>xmlXPathFuncPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathFunct *xmlXPathFuncPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9948"
 ></A
 ><H3
 ><A
@@ -627,16 +1129,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
-> (*xmlXPathAxisFunc)       (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> (*xmlXPathAxisFunc)       (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
-                                             <GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > cur);</PRE
 ></TD
 ></TR
@@ -711,7 +1213,62 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7850"
+NAME="AEN9973"
+></A
+><H3
+><A
+NAME="XMLXPATHAXIS"
+></A
+>struct xmlXPathAxis</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlXPathAxis {
+    const xmlChar      *name;		/* the axis name */
+    xmlXPathAxisFunc func;		/* the search function */
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9978"
+></A
+><H3
+><A
+NAME="XMLXPATHAXISPTR"
+></A
+>xmlXPathAxisPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlXPathAxis *xmlXPathAxisPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9983"
 ></A
 ><H3
 ><A
@@ -727,9 +1284,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*xmlXPathFunction)             (<GTKDOCLINK
-HREF="XMLXPATHPARSERCONTEXTPTR"
->xmlXPathParserContextPtr</GTKDOCLINK
+>void        (*xmlXPathFunction)             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR"
+>xmlXPathParserContextPtr</A
 > ctxt,
                                              int nargs);</PRE
 ></TD
@@ -790,7 +1347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7869"
+NAME="AEN10002"
 ></A
 ><H3
 ><A
@@ -806,9 +1363,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > xmlXPathNewContext       (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
@@ -846,7 +1403,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML document</TD
 ></TR
 ><TR
 ><TD
@@ -861,7 +1418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathContext just allocated.</TD
 ></TR
 ></TABLE
 ><P
@@ -871,7 +1428,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7890"
+NAME="AEN10023"
 ></A
 ><H3
 ><A
@@ -887,9 +1444,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlXPathFreeContext             (<GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+>void        xmlXPathFreeContext             (<A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -924,7 +1481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the context to free</TD
 ></TR
 ></TABLE
 ><P
@@ -934,7 +1491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7906"
+NAME="AEN10039"
 ></A
 ><H3
 ><A
@@ -950,16 +1507,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > xmlXPathEval              (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -994,7 +1551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -1011,7 +1568,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -1026,7 +1583,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathObjectPtr resulting from the eveluation or NULL.
+the caller has to free the object.</TD
 ></TR
 ></TABLE
 ><P
@@ -1036,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7932"
+NAME="AEN10065"
 ></A
 ><H3
 ><A
@@ -1052,9 +1610,9 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlXPathFreeObject              (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+>void        xmlXPathFreeObject              (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > obj);</PRE
 ></TD
 ></TR
@@ -1089,7 +1647,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the object to free</TD
 ></TR
 ></TABLE
 ><P
@@ -1099,7 +1657,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7948"
+NAME="AEN10081"
 ></A
 ><H3
 ><A
@@ -1115,16 +1673,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
+><A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
 > xmlXPathEvalExpression    (const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *str,
-                                             <GTKDOCLINK
-HREF="XMLXPATHCONTEXTPTR"
->xmlXPathContextPtr</GTKDOCLINK
+                                             <A
+HREF="gnome-xml-xpath.html#XMLXPATHCONTEXTPTR"
+>xmlXPathContextPtr</A
 > ctxt);</PRE
 ></TD
 ></TR
@@ -1159,7 +1717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -1176,7 +1734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -1191,7 +1749,229 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+the caller has to free the object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10107"
+></A
+><H3
+><A
+NAME="XMLXPATHNODESETCREATE"
+></A
+>xmlXPathNodeSetCreate ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> xmlXPathNodeSetCreate         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> val);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a new xmlNodeSetPtr of type double and of value <TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+></P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an initial xmlNodePtr, or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the newly created object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10129"
+></A
+><H3
+><A
+NAME="XMLXPATHFREENODESETLIST"
+></A
+>xmlXPathFreeNodeSetList ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlXPathFreeNodeSetList         (<A
+HREF="gnome-xml-xpath.html#XMLXPATHOBJECTPTR"
+>xmlXPathObjectPtr</A
+> obj);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free up the xmlXPathObjectPtr <TT
+CLASS="PARAMETER"
+><I
+>obj</I
+></TT
+> but don't deallocate the objects in
+the list contrary to <A
+HREF="gnome-xml-xpath.html#XMLXPATHFREEOBJECT"
+>xmlXPathFreeObject</A
+>().</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>obj</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an existing NodeSetList object</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10147"
+></A
+><H3
+><A
+NAME="XMLXPATHFREENODESET"
+></A
+>xmlXPathFreeNodeSet ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlXPathFreeNodeSet             (<A
+HREF="gnome-xml-xpath.html#XMLNODESETPTR"
+>xmlNodeSetPtr</A
+> obj);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free the NodeSet compound (not the actual nodes !).</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>obj</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the xmlNodeSetPtr to free</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 6e884f0..9f8e47f 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -1,9 +1,10 @@
 <ANCHOR id ="GNOME-XML-PARSER" href="gnome-xml/gnome-xml-parser.html">
 <ANCHOR id ="XML-DEFAULT-VERSION" href="gnome-xml/gnome-xml-parser.html#XML-DEFAULT-VERSION">
 <ANCHOR id ="XMLPARSERINPUTDEALLOCATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTDEALLOCATE">
+<ANCHOR id ="XMLPARSERINPUT" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUT">
 <ANCHOR id ="XMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTPTR">
-<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
 <ANCHOR id ="XMLPARSERNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFO">
+<ANCHOR id ="XMLPARSERNODEINFOPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOPTR">
 <ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ">
 <ANCHOR id ="XMLPARSERNODEINFOSEQPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQPTR">
 <ANCHOR id ="XMLPARSERINPUTSTATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTSTATE">
@@ -13,6 +14,7 @@
 <ANCHOR id ="XMLSAXLOCATORPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXLOCATORPTR">
 <ANCHOR id ="RESOLVEENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#RESOLVEENTITYSAXFUNC">
 <ANCHOR id ="INTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#INTERNALSUBSETSAXFUNC">
+<ANCHOR id ="EXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#EXTERNALSUBSETSAXFUNC">
 <ANCHOR id ="GETENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#GETENTITYSAXFUNC">
 <ANCHOR id ="GETPARAMETERENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#GETPARAMETERENTITYSAXFUNC">
 <ANCHOR id ="ENTITYDECLSAXFUNC" href="gnome-xml/gnome-xml-parser.html#ENTITYDECLSAXFUNC">
@@ -38,12 +40,16 @@
 <ANCHOR id ="ISSTANDALONESAXFUNC" href="gnome-xml/gnome-xml-parser.html#ISSTANDALONESAXFUNC">
 <ANCHOR id ="HASINTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC">
 <ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC">
+<ANCHOR id ="XMLSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLER">
 <ANCHOR id ="XMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLERPTR">
+<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
 <ANCHOR id ="XMLPARSERVERSION" href="gnome-xml/gnome-xml-parser.html#XMLPARSERVERSION">
 <ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
 <ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
 <ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
 <ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE">
+<ANCHOR id ="XMLGETWARNINGSDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLGETWARNINGSDEFAULTVALUE">
+<ANCHOR id ="XMLCLEANUPPARSER" href="gnome-xml/gnome-xml-parser.html#XMLCLEANUPPARSER">
 <ANCHOR id ="XMLPARSERINPUTREAD" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTREAD">
 <ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW">
 <ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP">
@@ -60,20 +66,32 @@
 <ANCHOR id ="XMLPARSEMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEMEMORY">
 <ANCHOR id ="XMLPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLPARSEFILE">
 <ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULT" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULT">
+<ANCHOR id ="XMLKEEPBLANKSDEFAULT" href="gnome-xml/gnome-xml-parser.html#XMLKEEPBLANKSDEFAULT">
+<ANCHOR id ="XMLSTOPPARSER" href="gnome-xml/gnome-xml-parser.html#XMLSTOPPARSER">
 <ANCHOR id ="XMLRECOVERDOC" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERDOC">
 <ANCHOR id ="XMLRECOVERMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERMEMORY">
 <ANCHOR id ="XMLRECOVERFILE" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERFILE">
 <ANCHOR id ="XMLPARSEDOCUMENT" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDOCUMENT">
 <ANCHOR id ="XMLSAXPARSEDOC" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDOC">
+<ANCHOR id ="XMLSAXUSERPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLSAXUSERPARSEFILE">
+<ANCHOR id ="XMLSAXUSERPARSEMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLSAXUSERPARSEMEMORY">
 <ANCHOR id ="XMLSAXPARSEMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEMEMORY">
 <ANCHOR id ="XMLSAXPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEFILE">
 <ANCHOR id ="XMLPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDTD">
 <ANCHOR id ="XMLSAXPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDTD">
-<ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
-<ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
-<ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
+<ANCHOR id ="XMLPARSEBALANCEDCHUNKMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEBALANCEDCHUNKMEMORY">
+<ANCHOR id ="XMLPARSEEXTERNALENTITY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEEXTERNALENTITY">
 <ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
+<ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
+<ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
+<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLFREEPARSERCTXT">
+<ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
+<ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT">
+<ANCHOR id ="XMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT">
+<ANCHOR id ="XMLPARSECHUNK" href="gnome-xml/gnome-xml-parser.html#XMLPARSECHUNK">
+<ANCHOR id ="XMLCREATEIOPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEIOPARSERCTXT">
+<ANCHOR id ="XMLNEWIOINPUTSTREAM" href="gnome-xml/gnome-xml-parser.html#XMLNEWIOINPUTSTREAM">
 <ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO">
 <ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ">
 <ANCHOR id ="XMLCLEARNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLCLEARNODEINFOSEQ">
@@ -124,39 +142,61 @@
 <ANCHOR id ="XMLCHAR" href="gnome-xml/gnome-xml-tree.html#XMLCHAR">
 <ANCHOR id ="CHAR" href="gnome-xml/gnome-xml-tree.html#CHAR">
 <ANCHOR id ="BAD-CAST" href="gnome-xml/gnome-xml-tree.html#BAD-CAST">
+<ANCHOR id ="XMLNOTATION" href="gnome-xml/gnome-xml-tree.html#XMLNOTATION">
 <ANCHOR id ="XMLNOTATIONPTR" href="gnome-xml/gnome-xml-tree.html#XMLNOTATIONPTR">
 <ANCHOR id ="XMLATTRIBUTETYPE" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTETYPE">
 <ANCHOR id ="XMLATTRIBUTEDEFAULT" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTEDEFAULT">
+<ANCHOR id ="XMLENUMERATION" href="gnome-xml/gnome-xml-tree.html#XMLENUMERATION">
 <ANCHOR id ="XMLENUMERATIONPTR" href="gnome-xml/gnome-xml-tree.html#XMLENUMERATIONPTR">
+<ANCHOR id ="XMLATTRIBUTE" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTE">
 <ANCHOR id ="XMLATTRIBUTEPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTEPTR">
 <ANCHOR id ="XMLELEMENTCONTENTTYPE" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTCONTENTTYPE">
 <ANCHOR id ="XMLELEMENTCONTENTOCCUR" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTCONTENTOCCUR">
+<ANCHOR id ="XMLELEMENTCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTCONTENT">
 <ANCHOR id ="XMLELEMENTCONTENTPTR" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTCONTENTPTR">
 <ANCHOR id ="XMLELEMENTTYPEVAL" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTTYPEVAL">
+<ANCHOR id ="XMLELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLELEMENT">
 <ANCHOR id ="XMLELEMENTPTR" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTPTR">
 <ANCHOR id ="XMLNSTYPE" href="gnome-xml/gnome-xml-tree.html#XMLNSTYPE">
+<ANCHOR id ="XMLNS" href="gnome-xml/gnome-xml-tree.html#XMLNS">
 <ANCHOR id ="XMLNSPTR" href="gnome-xml/gnome-xml-tree.html#XMLNSPTR">
+<ANCHOR id ="XMLDTD" href="gnome-xml/gnome-xml-tree.html#XMLDTD">
 <ANCHOR id ="XMLDTDPTR" href="gnome-xml/gnome-xml-tree.html#XMLDTDPTR">
+<ANCHOR id ="XMLATTR" href="gnome-xml/gnome-xml-tree.html#XMLATTR">
 <ANCHOR id ="XMLATTRPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRPTR">
+<ANCHOR id ="XMLID" href="gnome-xml/gnome-xml-tree.html#XMLID">
 <ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR">
+<ANCHOR id ="XMLREF" href="gnome-xml/gnome-xml-tree.html#XMLREF">
 <ANCHOR id ="XMLREFPTR" href="gnome-xml/gnome-xml-tree.html#XMLREFPTR">
+<ANCHOR id ="XMLBUFFERALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME">
+<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
+<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
 <ANCHOR id ="XMLNODE" href="gnome-xml/gnome-xml-tree.html#XMLNODE">
 <ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR">
 <ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC">
 <ANCHOR id ="XMLDOCPTR" href="gnome-xml/gnome-xml-tree.html#XMLDOCPTR">
-<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
-<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
+<ANCHOR id ="XMLCHILDRENNODE" href="gnome-xml/gnome-xml-tree.html#XMLCHILDRENNODE">
+<ANCHOR id ="XMLROOTNODE" href="gnome-xml/gnome-xml-tree.html#XMLROOTNODE">
 <ANCHOR id ="BASEDTD" href="gnome-xml/gnome-xml-tree.html#BASEDTD">
 <ANCHOR id ="OLDXMLWDCOMPATIBILITY" href="gnome-xml/gnome-xml-tree.html#OLDXMLWDCOMPATIBILITY">
 <ANCHOR id ="XMLINDENTTREEOUTPUT" href="gnome-xml/gnome-xml-tree.html#XMLINDENTTREEOUTPUT">
+<ANCHOR id ="XMLBUFFERALLOCSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCSCHEME">
+<ANCHOR id ="XMLSAVENOEMPTYTAGS" href="gnome-xml/gnome-xml-tree.html#XMLSAVENOEMPTYTAGS">
 <ANCHOR id ="XMLBUFFERCREATE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATE">
+<ANCHOR id ="XMLBUFFERCREATESIZE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATESIZE">
 <ANCHOR id ="XMLBUFFERFREE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERFREE">
 <ANCHOR id ="XMLBUFFERDUMP" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERDUMP">
 <ANCHOR id ="XMLBUFFERADD" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERADD">
+<ANCHOR id ="XMLBUFFERADDHEAD" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERADDHEAD">
 <ANCHOR id ="XMLBUFFERCAT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCAT">
 <ANCHOR id ="XMLBUFFERCCAT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCCAT">
 <ANCHOR id ="XMLBUFFERSHRINK" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSHRINK">
+<ANCHOR id ="XMLBUFFERGROW" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERGROW">
 <ANCHOR id ="XMLBUFFEREMPTY" href="gnome-xml/gnome-xml-tree.html#XMLBUFFEREMPTY">
+<ANCHOR id ="XMLBUFFERCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCONTENT">
+<ANCHOR id ="XMLBUFFERUSE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERUSE">
+<ANCHOR id ="XMLBUFFERSETALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSETALLOCATIONSCHEME">
+<ANCHOR id ="XMLBUFFERLENGTH" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERLENGTH">
 <ANCHOR id ="XMLCREATEINTSUBSET" href="gnome-xml/gnome-xml-tree.html#XMLCREATEINTSUBSET">
 <ANCHOR id ="XMLNEWDTD" href="gnome-xml/gnome-xml-tree.html#XMLNEWDTD">
 <ANCHOR id ="XMLFREEDTD" href="gnome-xml/gnome-xml-tree.html#XMLFREEDTD">
@@ -175,8 +215,10 @@
 <ANCHOR id ="XMLCOPYDTD" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDTD">
 <ANCHOR id ="XMLCOPYDOC" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDOC">
 <ANCHOR id ="XMLNEWDOCNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCNODE">
+<ANCHOR id ="XMLNEWDOCRAWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCRAWNODE">
 <ANCHOR id ="XMLNEWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWNODE">
 <ANCHOR id ="XMLNEWCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHILD">
+<ANCHOR id ="XMLNEWTEXTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXTCHILD">
 <ANCHOR id ="XMLNEWDOCTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXT">
 <ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT">
 <ANCHOR id ="XMLNEWPI" href="gnome-xml/gnome-xml-tree.html#XMLNEWPI">
@@ -185,13 +227,22 @@
 <ANCHOR id ="XMLNEWDOCCOMMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCCOMMENT">
 <ANCHOR id ="XMLNEWCOMMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWCOMMENT">
 <ANCHOR id ="XMLNEWCDATABLOCK" href="gnome-xml/gnome-xml-tree.html#XMLNEWCDATABLOCK">
+<ANCHOR id ="XMLNEWCHARREF" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHARREF">
 <ANCHOR id ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
 <ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
 <ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST">
+<ANCHOR id ="XMLNEWDOCFRAGMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCFRAGMENT">
+<ANCHOR id ="XMLDOCGETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCGETROOTELEMENT">
 <ANCHOR id ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
 <ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT">
+<ANCHOR id ="XMLISBLANKNODE" href="gnome-xml/gnome-xml-tree.html#XMLISBLANKNODE">
+<ANCHOR id ="XMLDOCSETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCSETROOTELEMENT">
+<ANCHOR id ="XMLNODESETNAME" href="gnome-xml/gnome-xml-tree.html#XMLNODESETNAME">
 <ANCHOR id ="XMLADDCHILD" href="gnome-xml/gnome-xml-tree.html#XMLADDCHILD">
+<ANCHOR id ="XMLREPLACENODE" href="gnome-xml/gnome-xml-tree.html#XMLREPLACENODE">
 <ANCHOR id ="XMLADDSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDSIBLING">
+<ANCHOR id ="XMLADDPREVSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDPREVSIBLING">
+<ANCHOR id ="XMLADDNEXTSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDNEXTSIBLING">
 <ANCHOR id ="XMLUNLINKNODE" href="gnome-xml/gnome-xml-tree.html#XMLUNLINKNODE">
 <ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE">
 <ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT">
@@ -205,9 +256,11 @@
 <ANCHOR id ="XMLCOPYNAMESPACELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACELIST">
 <ANCHOR id ="XMLSETPROP" href="gnome-xml/gnome-xml-tree.html#XMLSETPROP">
 <ANCHOR id ="XMLGETPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETPROP">
+<ANCHOR id ="XMLGETNSPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETNSPROP">
 <ANCHOR id ="XMLSTRINGGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGGETNODELIST">
 <ANCHOR id ="XMLSTRINGLENGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGLENGETNODELIST">
 <ANCHOR id ="XMLNODELISTGETSTRING" href="gnome-xml/gnome-xml-tree.html#XMLNODELISTGETSTRING">
+<ANCHOR id ="XMLNODELISTGETRAWSTRING" href="gnome-xml/gnome-xml-tree.html#XMLNODELISTGETRAWSTRING">
 <ANCHOR id ="XMLNODESETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODESETCONTENT">
 <ANCHOR id ="XMLNODESETCONTENTLEN" href="gnome-xml/gnome-xml-tree.html#XMLNODESETCONTENTLEN">
 <ANCHOR id ="XMLNODEADDCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEADDCONTENT">
@@ -215,27 +268,29 @@
 <ANCHOR id ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
 <ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG">
 <ANCHOR id ="XMLNODESETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODESETLANG">
+<ANCHOR id ="XMLNODEGETSPACEPRESERVE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETSPACEPRESERVE">
+<ANCHOR id ="XMLNODEGETBASE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETBASE">
 <ANCHOR id ="XMLREMOVEPROP" href="gnome-xml/gnome-xml-tree.html#XMLREMOVEPROP">
 <ANCHOR id ="XMLREMOVENODE" href="gnome-xml/gnome-xml-tree.html#XMLREMOVENODE">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITEQUOTEDSTRING" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
+<ANCHOR id ="XMLRECONCILIATENS" href="gnome-xml/gnome-xml-tree.html#XMLRECONCILIATENS">
 <ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
 <ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP">
+<ANCHOR id ="XMLELEMDUMP" href="gnome-xml/gnome-xml-tree.html#XMLELEMDUMP">
 <ANCHOR id ="XMLSAVEFILE" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILE">
+<ANCHOR id ="XMLSAVEFILEENC" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILEENC">
 <ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE">
 <ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETDOCCOMPRESSMODE">
 <ANCHOR id ="XMLGETCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETCOMPRESSMODE">
 <ANCHOR id ="XMLSETCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETCOMPRESSMODE">
 <ANCHOR id ="GNOME-XML-ENTITIES" href="gnome-xml/gnome-xml-entities.html">
-<ANCHOR id ="XML-INTERNAL-GENERAL-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-GENERAL-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-GENERAL-PARSED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-GENERAL-PARSED-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-GENERAL-UNPARSED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-GENERAL-UNPARSED-ENTITY">
-<ANCHOR id ="XML-INTERNAL-PARAMETER-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-PARAMETER-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-PARAMETER-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-PARAMETER-ENTITY">
-<ANCHOR id ="XML-INTERNAL-PREDEFINED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-PREDEFINED-ENTITY">
+<ANCHOR id ="XMLENTITYTYPE" href="gnome-xml/gnome-xml-entities.html#XMLENTITYTYPE">
+<ANCHOR id ="XMLENTITY" href="gnome-xml/gnome-xml-entities.html#XMLENTITY">
 <ANCHOR id ="XMLENTITYPTR" href="gnome-xml/gnome-xml-entities.html#XMLENTITYPTR">
 <ANCHOR id ="XML-MIN-ENTITIES-TABLE" href="gnome-xml/gnome-xml-entities.html#XML-MIN-ENTITIES-TABLE">
+<ANCHOR id ="XMLENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLENTITIESTABLE">
 <ANCHOR id ="XMLENTITIESTABLEPTR" href="gnome-xml/gnome-xml-entities.html#XMLENTITIESTABLEPTR">
 <ANCHOR id ="XMLADDDOCENTITY" href="gnome-xml/gnome-xml-entities.html#XMLADDDOCENTITY">
 <ANCHOR id ="XMLADDDTDENTITY" href="gnome-xml/gnome-xml-entities.html#XMLADDDTDENTITY">
@@ -245,34 +300,48 @@
 <ANCHOR id ="XMLGETPARAMETERENTITY" href="gnome-xml/gnome-xml-entities.html#XMLGETPARAMETERENTITY">
 <ANCHOR id ="XMLENCODEENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLENCODEENTITIES">
 <ANCHOR id ="XMLENCODEENTITIESREENTRANT" href="gnome-xml/gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT">
+<ANCHOR id ="XMLENCODESPECIALCHARS" href="gnome-xml/gnome-xml-entities.html#XMLENCODESPECIALCHARS">
 <ANCHOR id ="XMLCREATEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCREATEENTITIESTABLE">
 <ANCHOR id ="XMLCOPYENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCOPYENTITIESTABLE">
 <ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE">
 <ANCHOR id ="XMLDUMPENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITIESTABLE">
+<ANCHOR id ="XMLDUMPENTITYDECL" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITYDECL">
+<ANCHOR id ="XMLCLEANUPPREDEFINEDENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES">
+<ANCHOR id ="XMLENTITYADDREFERENCE" href="gnome-xml/gnome-xml-entities.html#XMLENTITYADDREFERENCE">
 <ANCHOR id ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
 <ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC">
 <ANCHOR id ="XMLVALIDITYWARNINGFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYWARNINGFUNC">
+<ANCHOR id ="XMLVALIDCTXT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDCTXT">
+<ANCHOR id ="XMLVALIDCTXTPTR" href="gnome-xml/gnome-xml-valid.html#XMLVALIDCTXTPTR">
 <ANCHOR id ="XML-MIN-NOTATION-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-NOTATION-TABLE">
+<ANCHOR id ="XMLNOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLNOTATIONTABLE">
 <ANCHOR id ="XMLNOTATIONTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLNOTATIONTABLEPTR">
 <ANCHOR id ="XML-MIN-ELEMENT-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-ELEMENT-TABLE">
+<ANCHOR id ="XMLELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLELEMENTTABLE">
 <ANCHOR id ="XMLELEMENTTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLELEMENTTABLEPTR">
 <ANCHOR id ="XML-MIN-ATTRIBUTE-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-ATTRIBUTE-TABLE">
+<ANCHOR id ="XMLATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLATTRIBUTETABLE">
 <ANCHOR id ="XMLATTRIBUTETABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLATTRIBUTETABLEPTR">
 <ANCHOR id ="XML-MIN-ID-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-ID-TABLE">
+<ANCHOR id ="XMLIDTABLE" href="gnome-xml/gnome-xml-valid.html#XMLIDTABLE">
 <ANCHOR id ="XMLIDTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLIDTABLEPTR">
 <ANCHOR id ="XML-MIN-REF-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-REF-TABLE">
+<ANCHOR id ="XMLREFTABLE" href="gnome-xml/gnome-xml-valid.html#XMLREFTABLE">
 <ANCHOR id ="XMLREFTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLREFTABLEPTR">
 <ANCHOR id ="XMLADDNOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLADDNOTATIONDECL">
 <ANCHOR id ="XMLCOPYNOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYNOTATIONTABLE">
 <ANCHOR id ="XMLFREENOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREENOTATIONTABLE">
+<ANCHOR id ="XMLDUMPNOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPNOTATIONDECL">
 <ANCHOR id ="XMLDUMPNOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPNOTATIONTABLE">
 <ANCHOR id ="XMLNEWELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLNEWELEMENTCONTENT">
 <ANCHOR id ="XMLCOPYELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLCOPYELEMENTCONTENT">
 <ANCHOR id ="XMLFREEELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLFREEELEMENTCONTENT">
+<ANCHOR id ="XMLSPRINTFELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLSPRINTFELEMENTCONTENT">
 <ANCHOR id ="XMLADDELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLADDELEMENTDECL">
 <ANCHOR id ="XMLCOPYELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYELEMENTTABLE">
 <ANCHOR id ="XMLFREEELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEELEMENTTABLE">
 <ANCHOR id ="XMLDUMPELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPELEMENTTABLE">
+<ANCHOR id ="XMLDUMPELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPELEMENTDECL">
 <ANCHOR id ="XMLCREATEENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLCREATEENUMERATION">
 <ANCHOR id ="XMLFREEENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLFREEENUMERATION">
 <ANCHOR id ="XMLCOPYENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLCOPYENUMERATION">
@@ -280,21 +349,26 @@
 <ANCHOR id ="XMLCOPYATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYATTRIBUTETABLE">
 <ANCHOR id ="XMLFREEATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEATTRIBUTETABLE">
 <ANCHOR id ="XMLDUMPATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPATTRIBUTETABLE">
+<ANCHOR id ="XMLDUMPATTRIBUTEDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPATTRIBUTEDECL">
 <ANCHOR id ="XMLADDID" href="gnome-xml/gnome-xml-valid.html#XMLADDID">
 <ANCHOR id ="XMLCOPYIDTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYIDTABLE">
 <ANCHOR id ="XMLFREEIDTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEIDTABLE">
 <ANCHOR id ="XMLGETID" href="gnome-xml/gnome-xml-valid.html#XMLGETID">
 <ANCHOR id ="XMLISID" href="gnome-xml/gnome-xml-valid.html#XMLISID">
+<ANCHOR id ="XMLREMOVEID" href="gnome-xml/gnome-xml-valid.html#XMLREMOVEID">
 <ANCHOR id ="XMLADDREF" href="gnome-xml/gnome-xml-valid.html#XMLADDREF">
 <ANCHOR id ="XMLCOPYREFTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYREFTABLE">
 <ANCHOR id ="XMLFREEREFTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEREFTABLE">
 <ANCHOR id ="XMLISREF" href="gnome-xml/gnome-xml-valid.html#XMLISREF">
+<ANCHOR id ="XMLREMOVEREF" href="gnome-xml/gnome-xml-valid.html#XMLREMOVEREF">
 <ANCHOR id ="XMLVALIDATEROOT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEROOT">
 <ANCHOR id ="XMLVALIDATEELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEELEMENTDECL">
+<ANCHOR id ="XMLVALIDNORMALIZEATTRIBUTEVALUE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDNORMALIZEATTRIBUTEVALUE">
 <ANCHOR id ="XMLVALIDATEATTRIBUTEDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEATTRIBUTEDECL">
 <ANCHOR id ="XMLVALIDATEATTRIBUTEVALUE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEATTRIBUTEVALUE">
 <ANCHOR id ="XMLVALIDATENOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATENOTATIONDECL">
 <ANCHOR id ="XMLVALIDATEDTD" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDTD">
+<ANCHOR id ="XMLVALIDATEDTDFINAL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDTDFINAL">
 <ANCHOR id ="XMLVALIDATEDOCUMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDOCUMENT">
 <ANCHOR id ="XMLVALIDATEELEMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEELEMENT">
 <ANCHOR id ="XMLVALIDATEONEELEMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEONEELEMENT">
@@ -305,12 +379,15 @@
 <ANCHOR id ="XMLGETDTDATTRDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDATTRDESC">
 <ANCHOR id ="XMLGETDTDNOTATIONDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDNOTATIONDESC">
 <ANCHOR id ="XMLGETDTDELEMENTDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDELEMENTDESC">
+<ANCHOR id ="XMLVALIDGETVALIDELEMENTS" href="gnome-xml/gnome-xml-valid.html#XMLVALIDGETVALIDELEMENTS">
+<ANCHOR id ="XMLVALIDGETPOTENTIALCHILDREN" href="gnome-xml/gnome-xml-valid.html#XMLVALIDGETPOTENTIALCHILDREN">
 <ANCHOR id ="GNOME-XML-URI" href="gnome-xml/gnome-xml-uri.html">
 <ANCHOR id ="XMLURI" href="gnome-xml/gnome-xml-uri.html#XMLURI">
 <ANCHOR id ="XMLURIPTR" href="gnome-xml/gnome-xml-uri.html#XMLURIPTR">
 <ANCHOR id ="XMLCREATEURI" href="gnome-xml/gnome-xml-uri.html#XMLCREATEURI">
 <ANCHOR id ="XMLBUILDURI" href="gnome-xml/gnome-xml-uri.html#XMLBUILDURI">
 <ANCHOR id ="XMLPARSEURI" href="gnome-xml/gnome-xml-uri.html#XMLPARSEURI">
+<ANCHOR id ="XMLPARSEURIREFERENCE" href="gnome-xml/gnome-xml-uri.html#XMLPARSEURIREFERENCE">
 <ANCHOR id ="XMLSAVEURI" href="gnome-xml/gnome-xml-uri.html#XMLSAVEURI">
 <ANCHOR id ="XMLPRINTURI" href="gnome-xml/gnome-xml-uri.html#XMLPRINTURI">
 <ANCHOR id ="XMLURIUNESCAPESTRING" href="gnome-xml/gnome-xml-uri.html#XMLURIUNESCAPESTRING">
@@ -334,8 +411,14 @@
 <ANCHOR id ="HTMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUTPTR">
 <ANCHOR id ="HTMLDOCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLDOCPTR">
 <ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
+<ANCHOR id ="HTMLELEMDESC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLELEMDESC">
+<ANCHOR id ="HTMLELEMDESCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLELEMDESCPTR">
+<ANCHOR id ="HTMLENTITYDESC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYDESC">
+<ANCHOR id ="HTMLENTITYDESCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYDESCPTR">
 <ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
 <ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
+<ANCHOR id ="HTMLISAUTOCLOSED" href="gnome-xml/gnome-xml-htmlparser.html#HTMLISAUTOCLOSED">
+<ANCHOR id ="HTMLAUTOCLOSETAG" href="gnome-xml/gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG">
 <ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
 <ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
 <ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
@@ -343,6 +426,9 @@
 <ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
 <ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
 <ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
+<ANCHOR id ="HTMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLFREEPARSERCTXT">
+<ANCHOR id ="HTMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT">
+<ANCHOR id ="HTMLPARSECHUNK" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHUNK">
 <ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
 <ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
 <ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
@@ -350,22 +436,43 @@
 <ANCHOR id ="HTMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMPMEMORY">
 <ANCHOR id ="HTMLDOCDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMP">
 <ANCHOR id ="HTMLSAVEFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLSAVEFILE">
+<ANCHOR id ="HTMLNODEDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLNODEDUMP">
+<ANCHOR id ="HTMLNODEDUMPFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLNODEDUMPFILE">
 <ANCHOR id ="GNOME-XML-XPATH" href="gnome-xml/gnome-xml-xpath.html">
+<ANCHOR id ="XMLXPATHCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHCONTEXT">
+<ANCHOR id ="XMLXPATHCONTEXTPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHCONTEXTPTR">
+<ANCHOR id ="XMLXPATHPARSERCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHPARSERCONTEXT">
+<ANCHOR id ="XMLXPATHPARSERCONTEXTPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHPARSERCONTEXTPTR">
+<ANCHOR id ="XMLNODESET" href="gnome-xml/gnome-xml-xpath.html#XMLNODESET">
+<ANCHOR id ="XMLNODESETPTR" href="gnome-xml/gnome-xml-xpath.html#XMLNODESETPTR">
 <ANCHOR id ="XPATH-UNDEFINED" href="gnome-xml/gnome-xml-xpath.html#XPATH-UNDEFINED">
 <ANCHOR id ="XPATH-NODESET" href="gnome-xml/gnome-xml-xpath.html#XPATH-NODESET">
 <ANCHOR id ="XPATH-BOOLEAN" href="gnome-xml/gnome-xml-xpath.html#XPATH-BOOLEAN">
 <ANCHOR id ="XPATH-NUMBER" href="gnome-xml/gnome-xml-xpath.html#XPATH-NUMBER">
 <ANCHOR id ="XPATH-STRING" href="gnome-xml/gnome-xml-xpath.html#XPATH-STRING">
 <ANCHOR id ="XPATH-USERS" href="gnome-xml/gnome-xml-xpath.html#XPATH-USERS">
+<ANCHOR id ="XMLXPATHOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHOBJECT">
+<ANCHOR id ="XMLXPATHOBJECTPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHOBJECTPTR">
 <ANCHOR id ="XMLXPATHCONVERTFUNC" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHCONVERTFUNC">
+<ANCHOR id ="XMLXPATHTYPE" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHTYPE">
+<ANCHOR id ="XMLXPATHTYPEPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHTYPEPTR">
+<ANCHOR id ="XMLXPATHVARIABLE" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHVARIABLE">
+<ANCHOR id ="XMLXPATHVARIABLEPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHVARIABLEPTR">
 <ANCHOR id ="XMLXPATHEVALFUNC" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALFUNC">
+<ANCHOR id ="XMLXPATHFUNCT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCT">
+<ANCHOR id ="XMLXPATHFUNCPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCPTR">
 <ANCHOR id ="XMLXPATHAXISFUNC" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHAXISFUNC">
+<ANCHOR id ="XMLXPATHAXIS" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHAXIS">
+<ANCHOR id ="XMLXPATHAXISPTR" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHAXISPTR">
 <ANCHOR id ="XMLXPATHFUNCTION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCTION">
 <ANCHOR id ="XMLXPATHNEWCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNEWCONTEXT">
 <ANCHOR id ="XMLXPATHFREECONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREECONTEXT">
 <ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
 <ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
 <ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
+<ANCHOR id ="XMLXPATHNODESETCREATE" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNODESETCREATE">
+<ANCHOR id ="XMLXPATHFREENODESETLIST" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESETLIST">
+<ANCHOR id ="XMLXPATHFREENODESET" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESET">
 <ANCHOR id ="GNOME-XML-NANOHTTP" href="gnome-xml/gnome-xml-nanohttp.html">
 <ANCHOR id ="XMLNANOHTTPINIT" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPINIT">
 <ANCHOR id ="XMLNANOHTTPCLEANUP" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPCLEANUP">
@@ -402,19 +509,42 @@
 <ANCHOR id ="XMLNANOFTPGET" href="gnome-xml/gnome-xml-nanoftp.html#XMLNANOFTPGET">
 <ANCHOR id ="XMLNANOFTPREAD" href="gnome-xml/gnome-xml-nanoftp.html#XMLNANOFTPREAD">
 <ANCHOR id ="GNOME-XML-XMLIO" href="gnome-xml/gnome-xml-xmlio.html">
+<ANCHOR id ="XMLINPUTMATCHCALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLINPUTMATCHCALLBACK">
+<ANCHOR id ="XMLINPUTOPENCALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLINPUTOPENCALLBACK">
+<ANCHOR id ="XMLINPUTREADCALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLINPUTREADCALLBACK">
+<ANCHOR id ="XMLINPUTCLOSECALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLINPUTCLOSECALLBACK">
+<ANCHOR id ="XMLPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFER">
 <ANCHOR id ="XMLPARSERINPUTBUFFERPTR" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR">
+<ANCHOR id ="XMLOUTPUTMATCHCALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTMATCHCALLBACK">
+<ANCHOR id ="XMLOUTPUTOPENCALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTOPENCALLBACK">
+<ANCHOR id ="XMLOUTPUTWRITECALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTWRITECALLBACK">
+<ANCHOR id ="XMLOUTPUTCLOSECALLBACK" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTCLOSECALLBACK">
+<ANCHOR id ="XMLOUTPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFER">
+<ANCHOR id ="XMLOUTPUTBUFFERPTR" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERPTR">
+<ANCHOR id ="XMLALLOCPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLALLOCPARSERINPUTBUFFER">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILENAME" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD">
+<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEIO" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEIO">
 <ANCHOR id ="XMLPARSERINPUTBUFFERREAD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD">
 <ANCHOR id ="XMLPARSERINPUTBUFFERGROW" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERGROW">
+<ANCHOR id ="XMLPARSERINPUTBUFFERPUSH" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPUSH">
 <ANCHOR id ="XMLFREEPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLFREEPARSERINPUTBUFFER">
 <ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY">
+<ANCHOR id ="XMLREGISTERINPUTCALLBACKS" href="gnome-xml/gnome-xml-xmlio.html#XMLREGISTERINPUTCALLBACKS">
+<ANCHOR id ="XMLALLOCOUTPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLALLOCOUTPUTBUFFER">
+<ANCHOR id ="XMLOUTPUTBUFFERCREATEFILENAME" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFILENAME">
+<ANCHOR id ="XMLOUTPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFILE">
+<ANCHOR id ="XMLOUTPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEFD">
+<ANCHOR id ="XMLOUTPUTBUFFERCREATEIO" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERCREATEIO">
+<ANCHOR id ="XMLOUTPUTBUFFERWRITE" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERWRITE">
+<ANCHOR id ="XMLOUTPUTBUFFERWRITESTRING" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERWRITESTRING">
+<ANCHOR id ="XMLOUTPUTBUFFERFLUSH" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERFLUSH">
+<ANCHOR id ="XMLOUTPUTBUFFERCLOSE" href="gnome-xml/gnome-xml-xmlio.html#XMLOUTPUTBUFFERCLOSE">
+<ANCHOR id ="XMLREGISTEROUTPUTCALLBACKS" href="gnome-xml/gnome-xml-xmlio.html#XMLREGISTEROUTPUTCALLBACKS">
+<ANCHOR id ="XMLSAVEFILETO" href="gnome-xml/gnome-xml-xmlio.html#XMLSAVEFILETO">
 <ANCHOR id ="GNOME-XML-PARSERINTERNALS" href="gnome-xml/gnome-xml-parserinternals.html">
 <ANCHOR id ="XML-MAX-NAMELEN" href="gnome-xml/gnome-xml-parserinternals.html#XML-MAX-NAMELEN">
-<ANCHOR id ="CHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#CHARVAL">
-<ANCHOR id ="NEXTCHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#NEXTCHARVAL">
-<ANCHOR id ="SKIPCHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#SKIPCHARVAL">
 <ANCHOR id ="IS-CHAR" href="gnome-xml/gnome-xml-parserinternals.html#IS-CHAR">
 <ANCHOR id ="IS-BLANK" href="gnome-xml/gnome-xml-parserinternals.html#IS-BLANK">
 <ANCHOR id ="IS-BASECHAR" href="gnome-xml/gnome-xml-parserinternals.html#IS-BASECHAR">
@@ -430,9 +560,11 @@
 <ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEDOCPARSERCTXT">
 <ANCHOR id ="XMLCREATEFILEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEFILEPARSERCTXT">
 <ANCHOR id ="XMLCREATEMEMORYPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEMEMORYPARSERCTXT">
-<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLFREEPARSERCTXT">
 <ANCHOR id ="XMLNEWPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLNEWPARSERCTXT">
+<ANCHOR id ="XMLCREATEENTITYPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEENTITYPARSERCTXT">
 <ANCHOR id ="XMLSWITCHENCODING" href="gnome-xml/gnome-xml-parserinternals.html#XMLSWITCHENCODING">
+<ANCHOR id ="XMLSWITCHTOENCODING" href="gnome-xml/gnome-xml-parserinternals.html#XMLSWITCHTOENCODING">
+<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLFREEPARSERCTXT">
 <ANCHOR id ="XMLHANDLEENTITY" href="gnome-xml/gnome-xml-parserinternals.html#XMLHANDLEENTITY">
 <ANCHOR id ="XMLNEWENTITYINPUTSTREAM" href="gnome-xml/gnome-xml-parserinternals.html#XMLNEWENTITYINPUTSTREAM">
 <ANCHOR id ="XMLPUSHINPUT" href="gnome-xml/gnome-xml-parserinternals.html#XMLPUSHINPUT">
@@ -487,6 +619,7 @@
 <ANCHOR id ="XMLPARSEENCODINGDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEENCODINGDECL">
 <ANCHOR id ="XMLPARSESDDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSESDDECL">
 <ANCHOR id ="XMLPARSEXMLDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEXMLDECL">
+<ANCHOR id ="XMLPARSETEXTDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSETEXTDECL">
 <ANCHOR id ="XMLPARSEMISC" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEMISC">
 <ANCHOR id ="XMLPARSEEXTERNALSUBSET" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEEXTERNALSUBSET">
 <ANCHOR id ="XML-SUBSTITUTE-NONE" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-NONE">
@@ -494,6 +627,7 @@
 <ANCHOR id ="XML-SUBSTITUTE-PEREF" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-PEREF">
 <ANCHOR id ="XML-SUBSTITUTE-BOTH" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-BOTH">
 <ANCHOR id ="XMLDECODEENTITIES" href="gnome-xml/gnome-xml-parserinternals.html#XMLDECODEENTITIES">
+<ANCHOR id ="XMLSTRINGDECODEENTITIES" href="gnome-xml/gnome-xml-parserinternals.html#XMLSTRINGDECODEENTITIES">
 <ANCHOR id ="NODEPUSH" href="gnome-xml/gnome-xml-parserinternals.html#NODEPUSH">
 <ANCHOR id ="NODEPOP" href="gnome-xml/gnome-xml-parserinternals.html#NODEPOP">
 <ANCHOR id ="INPUTPUSH" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPUSH">
@@ -502,13 +636,21 @@
 <ANCHOR id ="XMLCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODING">
 <ANCHOR id ="XMLCHARENCODINGINPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGINPUTFUNC">
 <ANCHOR id ="XMLCHARENCODINGOUTPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC">
+<ANCHOR id ="XMLCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGHANDLER">
 <ANCHOR id ="XMLCHARENCODINGHANDLERPTR" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR">
+<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
+<ANCHOR id ="XMLCLEANUPCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS">
 <ANCHOR id ="XMLREGISTERCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLREGISTERCHARENCODINGHANDLER">
-<ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
-<ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
 <ANCHOR id ="XMLDETECTCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLDETECTCHARENCODING">
 <ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
-<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
+<ANCHOR id ="XMLGETCHARENCODINGNAME" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGNAME">
+<ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
+<ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
+<ANCHOR id ="XMLCHECKUTF8" href="gnome-xml/gnome-xml-encoding.html#XMLCHECKUTF8">
+<ANCHOR id ="XMLCHARENCOUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCOUTFUNC">
+<ANCHOR id ="XMLCHARENCINFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCINFUNC">
+<ANCHOR id ="XMLCHARENCFIRSTLINE" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCFIRSTLINE">
+<ANCHOR id ="XMLCHARENCCLOSEFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCCLOSEFUNC">
 <ANCHOR id ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
 <ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
 <ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR">
@@ -516,21 +658,33 @@
 <ANCHOR id ="XMLDEBUGDUMPONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPONENODE">
 <ANCHOR id ="XMLDEBUGDUMPNODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODE">
 <ANCHOR id ="XMLDEBUGDUMPNODELIST" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODELIST">
+<ANCHOR id ="XMLDEBUGDUMPDOCUMENTHEAD" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENTHEAD">
 <ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENT">
+<ANCHOR id ="XMLDEBUGDUMPENTITIES" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPENTITIES">
+<ANCHOR id ="XMLLSONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLLSONENODE">
+<ANCHOR id ="XMLSHELLREADLINEFUNC" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC">
+<ANCHOR id ="XMLSHELLCTXT" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLCTXT">
+<ANCHOR id ="XMLSHELLCTXTPTR" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLCTXTPTR">
+<ANCHOR id ="XMLSHELLCMD" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLCMD">
+<ANCHOR id ="XMLSHELL" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELL">
 <ANCHOR id ="GNOME-XML-XMLMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html">
-<ANCHOR id ="NO-DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY">
+<ANCHOR id ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
+<ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST">
+<ANCHOR id ="XMLFREEFUNC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREEFUNC">
+<ANCHOR id ="XMLMALLOCFUNC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMALLOCFUNC">
+<ANCHOR id ="XMLREALLOCFUNC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLREALLOCFUNC">
+<ANCHOR id ="XMLSTRDUPFUNC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLSTRDUPFUNC">
 <ANCHOR id ="XMLFREE" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREE">
 <ANCHOR id ="XMLMALLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMALLOC">
 <ANCHOR id ="XMLREALLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLREALLOC">
 <ANCHOR id ="XMLMEMSTRDUP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSTRDUP">
+<ANCHOR id ="XMLMEMSETUP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSETUP">
+<ANCHOR id ="XMLMEMGET" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMGET">
 <ANCHOR id ="XMLINITMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLINITMEMORY">
 <ANCHOR id ="XMLMEMUSED" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMUSED">
-<ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
 <ANCHOR id ="XMLMEMDISPLAY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMDISPLAY">
 <ANCHOR id ="XMLMEMSHOW" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSHOW">
-<ANCHOR id ="DEBUG-MEMORY-LOCATION" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION">
-<ANCHOR id ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
-<ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST">
+<ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
 <ANCHOR id ="XMLMALLOCLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMALLOCLOC">
 <ANCHOR id ="XMLREALLOCLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLREALLOCLOC">
 <ANCHOR id ="XMLMEMSTRDUPLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSTRDUPLOC">
diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html
index 9ffb9df..a896ee1 100644
--- a/doc/html/libxml-lib.html
+++ b/doc/html/libxml-lib.html
@@ -4,7 +4,7 @@
 >Libxml Library Reference</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -17,9 +17,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
diff --git a/doc/html/libxml-notes.html b/doc/html/libxml-notes.html
index 00d3ed9..985cbef 100644
--- a/doc/html/libxml-notes.html
+++ b/doc/html/libxml-notes.html
@@ -4,7 +4,7 @@
 >Libxml Programming Notes</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -17,9 +17,6 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
diff --git a/doc/xml.html b/doc/xml.html
index 2e00b6e..84a6aaf 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -187,6 +187,25 @@
     if you want to test those.</li>
 </ul>
 
+<h3>2.1.0 and 1.8.8: June 29 2000</h3>
+<ul>
+  <li>1.8.8 is mostly a comodity package for upgrading to libxml2 accoding to
+    <a href="upgrade.html">new instructions</a>. It fixes a nasty problem
+    about &amp;#38; charref parsing</li>
+  <li>2.1.0 also ease the upgrade from libxml v1 to the recent version. it
+    also contains numerous fixes and enhancements:
+    <ul>
+      <li>added xmlStopParser() to stop parsing</li>
+      <li>improved a lot parsing speed when there is large CDATA blocs</li>
+      <li>includes XPath patches provided by Picdar Technology</li>
+      <li>tried to fix as much as possible DtD validation and namespace
+        related problems</li>
+      <li>output to a given encoding has been added/tested</li>
+      <li>lot of various fixes</li>
+    </ul>
+  </li>
+</ul>
+
 <h3>2.0.0: Apr 12 2000</h3>
 <ul>
   <li>First public release of libxml2. If you are using libxml, it's a good
@@ -1149,8 +1168,9 @@
     <p><a
     href="http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/">http://www.ce.berkeley.edu/~doolin/code/libxmlwin32/</a></p>
   </li>
-  <li><a href="mailto:fnatter@gmx.net">Felix Natter</a> provided a emacs
-    module to lookup libxml functions documentation</li>
+  <li><a href="mailto:fnatter@gmx.net">Felix Natter</a> provided <a
+    href="libxml-doc.el">an emacs module</a> to lookup libxml functions
+    documentation</li>
   <li><a href="mailto:sherwin@nlm.nih.gov">Ziying Sherwin</a> provided <a
     href="http://xmlsoft.org/messages/0488.html">man pages</a> (not yet
     integrated in the distribution)</li>
@@ -1160,6 +1180,6 @@
 
 <p><a href="mailto:Daniel.Veillard@w3.org">Daniel Veillard</a></p>
 
-<p>$Id: xml.html,v 1.33 2000/04/16 08:52:20 veillard Exp $</p>
+<p>$Id: xml.html,v 1.34 2000/06/23 18:32:15 veillard Exp $</p>
 </body>
 </html>