- xmlIO.c catalog.c: plugged in the default catalog resolution
- doc/gnome-xml.sgml: linked in the Docbook parser and catalog
  documentations
- doc/html/libxml-*.html: rebuild added the missing ones to CVS
Daniel
diff --git a/ChangeLog b/ChangeLog
index 01e06eb..2a45a17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu May 10 17:30:22 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+	* xmlIO.c catalog.c: plugged in the default catalog resolution
+	* doc/gnome-xml.sgml: linked in the Docbook parser and catalog
+	  documentations
+	* doc/html/libxml-*.html: rebuild added the missing ones to CVS
+
 Thu May 10 16:14:36 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
 	* Makefile.am xmlversion.h.in configure.in include/Makefile.am:
diff --git a/catalog.c b/catalog.c
index 437474a..6487cb0 100644
--- a/catalog.c
+++ b/catalog.c
@@ -97,6 +97,79 @@
     xmlFree(ret);
 }
 
+/**
+ * xmlCatalogDumpEntry:
+ * @entry:  the 
+ * @out:  the file.
+ *
+ * Free up all the memory associated with catalogs
+ */
+static void
+xmlCatalogDumpEntry(xmlCatalogEntryPtr entry, FILE *out) {
+    if ((entry == NULL) || (out == NULL))
+	return;
+    switch (entry->type) {
+	case XML_CATA_ENTITY:
+	    fprintf(out, "ENTITY "); break;
+	case XML_CATA_PENTITY:
+	    fprintf(out, "ENTITY %%"); break;
+	case XML_CATA_DOCTYPE:
+	    fprintf(out, "DOCTYPE "); break;
+	case XML_CATA_LINKTYPE:
+	    fprintf(out, "LINKTYPE "); break;
+	case XML_CATA_NOTATION:
+	    fprintf(out, "NOTATION "); break;
+	case XML_CATA_PUBLIC:
+	    fprintf(out, "PUBLIC "); break;
+	case XML_CATA_SYSTEM:
+	    fprintf(out, "SYSTEM "); break;
+	case XML_CATA_DELEGATE:
+	    fprintf(out, "DELEGATE "); break;
+	case XML_CATA_BASE:
+	    fprintf(out, "BASE "); break;
+	case XML_CATA_CATALOG:
+	    fprintf(out, "CATALOG "); break;
+	case XML_CATA_DOCUMENT:
+	    fprintf(out, "DOCUMENT "); break;
+	case XML_CATA_SGMLDECL:
+	    fprintf(out, "SGMLDECL "); break;
+	default:
+	    return;
+    }
+    switch (entry->type) {
+	case XML_CATA_ENTITY:
+	case XML_CATA_PENTITY:
+	case XML_CATA_DOCTYPE:
+	case XML_CATA_LINKTYPE:
+	case XML_CATA_NOTATION:
+	    fprintf(out, "%s", entry->name); break;
+	case XML_CATA_PUBLIC:
+	case XML_CATA_SYSTEM:
+	case XML_CATA_SGMLDECL:
+	case XML_CATA_DOCUMENT:
+	case XML_CATA_CATALOG:
+	case XML_CATA_BASE:
+	case XML_CATA_DELEGATE:
+	    fprintf(out, "\"%s\"", entry->name); break;
+	default:
+	    break;
+    }
+    switch (entry->type) {
+	case XML_CATA_ENTITY:
+	case XML_CATA_PENTITY:
+	case XML_CATA_DOCTYPE:
+	case XML_CATA_LINKTYPE:
+	case XML_CATA_NOTATION:
+	case XML_CATA_PUBLIC:
+	case XML_CATA_SYSTEM:
+	case XML_CATA_DELEGATE:
+	    fprintf(out, " \"%s\"", entry->value); break;
+	default:
+	    break;
+    }
+    fprintf(out, "\n");
+}
+
 /************************************************************************
  *									*
  *			The parser					*
@@ -441,79 +514,49 @@
 }
 
 /**
- * xmlCatalogDumpEntry:
- * @entry:  the 
- * @out:  the file.
+ * xmlCatalogGetSystem:
+ * @sysId:  the system ID string
  *
- * Free up all the memory associated with catalogs
+ * Try to lookup the resource associated to a system ID
+ *
+ * Returns the resource name if found or NULL otherwise.
  */
-static void
-xmlCatalogDumpEntry(xmlCatalogEntryPtr entry, FILE *out) {
-    if ((entry == NULL) || (out == NULL))
-	return;
-    switch (entry->type) {
-	case XML_CATA_ENTITY:
-	    fprintf(out, "ENTITY "); break;
-	case XML_CATA_PENTITY:
-	    fprintf(out, "ENTITY %%"); break;
-	case XML_CATA_DOCTYPE:
-	    fprintf(out, "DOCTYPE "); break;
-	case XML_CATA_LINKTYPE:
-	    fprintf(out, "LINKTYPE "); break;
-	case XML_CATA_NOTATION:
-	    fprintf(out, "NOTATION "); break;
-	case XML_CATA_PUBLIC:
-	    fprintf(out, "PUBLIC "); break;
-	case XML_CATA_SYSTEM:
-	    fprintf(out, "SYSTEM "); break;
-	case XML_CATA_DELEGATE:
-	    fprintf(out, "DELEGATE "); break;
-	case XML_CATA_BASE:
-	    fprintf(out, "BASE "); break;
-	case XML_CATA_CATALOG:
-	    fprintf(out, "CATALOG "); break;
-	case XML_CATA_DOCUMENT:
-	    fprintf(out, "DOCUMENT "); break;
-	case XML_CATA_SGMLDECL:
-	    fprintf(out, "SGMLDECL "); break;
-	default:
-	    return;
-    }
-    switch (entry->type) {
-	case XML_CATA_ENTITY:
-	case XML_CATA_PENTITY:
-	case XML_CATA_DOCTYPE:
-	case XML_CATA_LINKTYPE:
-	case XML_CATA_NOTATION:
-	    fprintf(out, "%s", entry->name); break;
-	case XML_CATA_PUBLIC:
-	case XML_CATA_SYSTEM:
-	case XML_CATA_SGMLDECL:
-	case XML_CATA_DOCUMENT:
-	case XML_CATA_CATALOG:
-	case XML_CATA_BASE:
-	case XML_CATA_DELEGATE:
-	    fprintf(out, "\"%s\"", entry->name); break;
-	default:
-	    break;
-    }
-    switch (entry->type) {
-	case XML_CATA_ENTITY:
-	case XML_CATA_PENTITY:
-	case XML_CATA_DOCTYPE:
-	case XML_CATA_LINKTYPE:
-	case XML_CATA_NOTATION:
-	case XML_CATA_PUBLIC:
-	case XML_CATA_SYSTEM:
-	case XML_CATA_DELEGATE:
-	    fprintf(out, " \"%s\"", entry->value); break;
-	default:
-	    break;
-    }
-    fprintf(out, "\n");
+const xmlChar *
+xmlCatalogGetSystem(const xmlChar *sysID) {
+    xmlCatalogEntryPtr entry;
+
+    if ((sysID == NULL) || (xmlDefaultCatalog == NULL))
+	return(NULL);
+    entry = (xmlCatalogEntryPtr) xmlHashLookup(xmlDefaultCatalog, sysID);
+    if (entry == NULL)
+	return(NULL);
+    if (entry->type == XML_CATA_SYSTEM)
+	return(entry->value);
+    return(NULL);
 }
 
 /**
+ * xmlCatalogGetPublic:
+ * @pubId:  the public ID string
+ *
+ * Try to lookup the system ID associated to a public ID
+ *
+ * Returns the system ID if found or NULL otherwise.
+ */
+const xmlChar *
+xmlCatalogGetPublic(const xmlChar *pubID) {
+    xmlCatalogEntryPtr entry;
+
+    if ((pubID == NULL) || (xmlDefaultCatalog == NULL))
+	return(NULL);
+    entry = (xmlCatalogEntryPtr) xmlHashLookup(xmlDefaultCatalog, pubID);
+    if (entry == NULL)
+	return(NULL);
+    if (entry->type == XML_CATA_PUBLIC)
+	return(entry->value);
+    return(NULL);
+}
+/**
  * xmlCatalogDump:
  * @out:  the file.
  *
diff --git a/catalog.h b/catalog.h
index f91ee94..eb77845 100644
--- a/catalog.h
+++ b/catalog.h
@@ -21,9 +21,11 @@
 extern "C" {
 #endif
 
-int	xmlLoadCatalog		(const char *URL);
-void	xmlCatalogCleanup	(void);
-void	xmlCatalogDump		(FILE *out);
+int		xmlLoadCatalog		(const char *URL);
+void		xmlCatalogCleanup	(void);
+void		xmlCatalogDump		(FILE *out);
+const xmlChar *	xmlCatalogGetSystem	(const xmlChar *sysID);
+const xmlChar *	xmlCatalogGetPublic	(const xmlChar *pubID);
 
 #ifdef __cplusplus
 }
diff --git a/doc/gnome-xml.sgml b/doc/gnome-xml.sgml
index 1dc156e..07123c2 100644
--- a/doc/gnome-xml.sgml
+++ b/doc/gnome-xml.sgml
@@ -15,6 +15,8 @@
 <!entity xpointer SYSTEM "sgml/xpointer.sgml">
 <!entity xinclude SYSTEM "sgml/xinclude.sgml">
 <!entity xmlIO SYSTEM "sgml/xmlIO.sgml">
+<!entity catalog SYSTEM "sgml/catalog.sgml">
+<!entity DOCBparser SYSTEM "sgml/DOCBparser.sgml">
 <!entity xmlmemory SYSTEM "sgml/xmlmemory.sgml">
 <!entity nanohttp SYSTEM "sgml/nanohttp.sgml">
 <!entity nanoftp SYSTEM "sgml/nanoftp.sgml">
@@ -93,6 +95,8 @@
     &nanohttp;
     &nanoftp;
     &xmlIO;
+    &catalog;
+    &DOCBparser;
     &parserInternals;
     &encoding;
     &debugXML;
diff --git a/doc/html/book1.html b/doc/html/book1.html
index 6794bf9..ccd289d 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -196,6 +196,16 @@
 > &#8212; </DT
 ><DT
 ><A
+HREF="libxml-catalog.html"
+>catalog</A
+> &#8212; </DT
+><DT
+><A
+HREF="libxml-docbparser.html"
+>DOCBparser</A
+> &#8212; </DT
+><DT
+><A
 HREF="libxml-parserinternals.html"
 >parserInternals</A
 > &#8212; </DT
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index b945e36..f3e4fac 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -729,6 +729,32 @@
 <ANCHOR id ="XMLSAVEFORMATFILETO" href="libxml/libxml-xmlio.html#XMLSAVEFORMATFILETO">
 <ANCHOR id ="XMLNODEDUMPOUTPUT" href="libxml/libxml-xmlio.html#XMLNODEDUMPOUTPUT">
 <ANCHOR id ="HTMLDOCCONTENTDUMPOUTPUT" href="libxml/libxml-xmlio.html#HTMLDOCCONTENTDUMPOUTPUT">
+<ANCHOR id ="LIBXML-CATALOG" href="libxml/libxml-catalog.html">
+<ANCHOR id ="XMLLOADCATALOG" href="libxml/libxml-catalog.html#XMLLOADCATALOG">
+<ANCHOR id ="XMLCATALOGCLEANUP" href="libxml/libxml-catalog.html#XMLCATALOGCLEANUP">
+<ANCHOR id ="XMLCATALOGDUMP" href="libxml/libxml-catalog.html#XMLCATALOGDUMP">
+<ANCHOR id ="XMLCATALOGGETSYSTEM" href="libxml/libxml-catalog.html#XMLCATALOGGETSYSTEM">
+<ANCHOR id ="XMLCATALOGGETPUBLIC" href="libxml/libxml-catalog.html#XMLCATALOGGETPUBLIC">
+<ANCHOR id ="LIBXML-DOCBPARSER" href="libxml/libxml-docbparser.html">
+<ANCHOR id ="DOCBPARSERCTXT" href="libxml/libxml-docbparser.html#DOCBPARSERCTXT">
+<ANCHOR id ="DOCBPARSERCTXTPTR" href="libxml/libxml-docbparser.html#DOCBPARSERCTXTPTR">
+<ANCHOR id ="DOCBPARSERNODEINFO" href="libxml/libxml-docbparser.html#DOCBPARSERNODEINFO">
+<ANCHOR id ="DOCBSAXHANDLER" href="libxml/libxml-docbparser.html#DOCBSAXHANDLER">
+<ANCHOR id ="DOCBSAXHANDLERPTR" href="libxml/libxml-docbparser.html#DOCBSAXHANDLERPTR">
+<ANCHOR id ="DOCBPARSERINPUT" href="libxml/libxml-docbparser.html#DOCBPARSERINPUT">
+<ANCHOR id ="DOCBPARSERINPUTPTR" href="libxml/libxml-docbparser.html#DOCBPARSERINPUTPTR">
+<ANCHOR id ="DOCBDOCPTR" href="libxml/libxml-docbparser.html#DOCBDOCPTR">
+<ANCHOR id ="DOCBNODEPTR" href="libxml/libxml-docbparser.html#DOCBNODEPTR">
+<ANCHOR id ="DOCBENCODEENTITIES" href="libxml/libxml-docbparser.html#DOCBENCODEENTITIES">
+<ANCHOR id ="DOCBSAXPARSEDOC" href="libxml/libxml-docbparser.html#DOCBSAXPARSEDOC">
+<ANCHOR id ="DOCBPARSEDOC" href="libxml/libxml-docbparser.html#DOCBPARSEDOC">
+<ANCHOR id ="DOCBSAXPARSEFILE" href="libxml/libxml-docbparser.html#DOCBSAXPARSEFILE">
+<ANCHOR id ="DOCBPARSEFILE" href="libxml/libxml-docbparser.html#DOCBPARSEFILE">
+<ANCHOR id ="DOCBFREEPARSERCTXT" href="libxml/libxml-docbparser.html#DOCBFREEPARSERCTXT">
+<ANCHOR id ="DOCBCREATEPUSHPARSERCTXT" href="libxml/libxml-docbparser.html#DOCBCREATEPUSHPARSERCTXT">
+<ANCHOR id ="DOCBPARSECHUNK" href="libxml/libxml-docbparser.html#DOCBPARSECHUNK">
+<ANCHOR id ="DOCBCREATEFILEPARSERCTXT" href="libxml/libxml-docbparser.html#DOCBCREATEFILEPARSERCTXT">
+<ANCHOR id ="DOCBPARSEDOCUMENT" href="libxml/libxml-docbparser.html#DOCBPARSEDOCUMENT">
 <ANCHOR id ="LIBXML-PARSERINTERNALS" href="libxml/libxml-parserinternals.html">
 <ANCHOR id ="XML-MAX-NAMELEN-CAPS" href="libxml/libxml-parserinternals.html#XML-MAX-NAMELEN-CAPS">
 <ANCHOR id ="INPUT-CHUNK-CAPS" href="libxml/libxml-parserinternals.html#INPUT-CHUNK-CAPS">
diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html
new file mode 100644
index 0000000..7f5c043
--- /dev/null
+++ b/doc/html/libxml-catalog.html
@@ -0,0 +1,635 @@
+<HTML
+><HEAD
+><TITLE
+>catalog</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="xmlIO"
+HREF="libxml-xmlio.html"><LINK
+REL="NEXT"
+TITLE="DOCBparser"
+HREF="libxml-docbparser.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-xmlio.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-docbparser.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-CATALOG"
+>catalog</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN16738"
+></A
+><H2
+>Name</H2
+>catalog&nbsp;--&nbsp;</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN16741"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>&#13;
+
+int         <A
+HREF="libxml-catalog.html#XMLLOADCATALOG"
+>xmlLoadCatalog</A
+>                  (const char *URL);
+void        <A
+HREF="libxml-catalog.html#XMLCATALOGCLEANUP"
+>xmlCatalogCleanup</A
+>               (void);
+void        <A
+HREF="libxml-catalog.html#XMLCATALOGDUMP"
+>xmlCatalogDump</A
+>                  (<GTKDOCLINK
+HREF="FILE-CAPS"
+>FILE</GTKDOCLINK
+> *out);
+const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>* <A
+HREF="libxml-catalog.html#XMLCATALOGGETSYSTEM"
+>xmlCatalogGetSystem</A
+>          (const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *sysID);
+const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>* <A
+HREF="libxml-catalog.html#XMLCATALOGGETPUBLIC"
+>xmlCatalogGetPublic</A
+>          (const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *pubID);</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN16754"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN16757"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16759"
+></A
+><H3
+><A
+NAME="XMLLOADCATALOG"
+></A
+>xmlLoadCatalog ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlLoadCatalog                  (const char *URL);</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"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&#13;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16777"
+></A
+><H3
+><A
+NAME="XMLCATALOGCLEANUP"
+></A
+>xmlCatalogCleanup ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCatalogCleanup               (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free up all the memory associated with catalogs</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16783"
+></A
+><H3
+><A
+NAME="XMLCATALOGDUMP"
+></A
+>xmlCatalogDump ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCatalogDump                  (<GTKDOCLINK
+HREF="FILE-CAPS"
+>FILE</GTKDOCLINK
+> *out);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free up all the memory associated with catalogs</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.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16799"
+></A
+><H3
+><A
+NAME="XMLCATALOGGETSYSTEM"
+></A
+>xmlCatalogGetSystem ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>* xmlCatalogGetSystem          (const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *sysID);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Try to lookup the resource associated to a system ID</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
+>sysID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the system ID 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 resource name if found or NULL otherwise.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16820"
+></A
+><H3
+><A
+NAME="XMLCATALOGGETPUBLIC"
+></A
+>xmlCatalogGetPublic ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+>* xmlCatalogGetPublic          (const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *pubID);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Try to lookup the system ID associated to a public ID</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
+>pubID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the public ID 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 system ID if found or NULL otherwise.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-xmlio.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-docbparser.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
+>xmlIO</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>DOCBparser</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/html/libxml-debugxml.html b/doc/html/libxml-debugxml.html
index 5a53f13..5d2fac0 100644
--- a/doc/html/libxml-debugxml.html
+++ b/doc/html/libxml-debugxml.html
@@ -121,7 +121,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN20064"
+NAME="AEN20558"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN20067"
+NAME="AEN20561"
 ></A
 ><H2
 >Synopsis</H2
@@ -321,7 +321,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20114"
+NAME="AEN20608"
 ></A
 ><H2
 >Description</H2
@@ -331,14 +331,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20117"
+NAME="AEN20611"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20119"
+NAME="AEN20613"
 ></A
 ><H3
 ><A
@@ -420,7 +420,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20139"
+NAME="AEN20633"
 ></A
 ><H3
 ><A
@@ -520,7 +520,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20163"
+NAME="AEN20657"
 ></A
 ><H3
 ><A
@@ -620,7 +620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20187"
+NAME="AEN20681"
 ></A
 ><H3
 ><A
@@ -720,7 +720,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20211"
+NAME="AEN20705"
 ></A
 ><H3
 ><A
@@ -820,7 +820,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20235"
+NAME="AEN20729"
 ></A
 ><H3
 ><A
@@ -920,7 +920,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20259"
+NAME="AEN20753"
 ></A
 ><H3
 ><A
@@ -1002,7 +1002,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20279"
+NAME="AEN20773"
 ></A
 ><H3
 ><A
@@ -1084,7 +1084,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20299"
+NAME="AEN20793"
 ></A
 ><H3
 ><A
@@ -1166,7 +1166,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20319"
+NAME="AEN20813"
 ></A
 ><H3
 ><A
@@ -1248,7 +1248,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20339"
+NAME="AEN20833"
 ></A
 ><H3
 ><A
@@ -1330,7 +1330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20359"
+NAME="AEN20853"
 ></A
 ><H3
 ><A
@@ -1403,7 +1403,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20377"
+NAME="AEN20871"
 ></A
 ><H3
 ><A
@@ -1437,7 +1437,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20382"
+NAME="AEN20876"
 ></A
 ><H3
 ><A
@@ -1463,7 +1463,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20387"
+NAME="AEN20881"
 ></A
 ><H3
 ><A
@@ -1599,7 +1599,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20420"
+NAME="AEN20914"
 ></A
 ><H3
 ><A
diff --git a/doc/html/libxml-docbparser.html b/doc/html/libxml-docbparser.html
new file mode 100644
index 0000000..13a179e
--- /dev/null
+++ b/doc/html/libxml-docbparser.html
@@ -0,0 +1,1857 @@
+<HTML
+><HEAD
+><TITLE
+>DOCBparser</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="catalog"
+HREF="libxml-catalog.html"><LINK
+REL="NEXT"
+TITLE="parserInternals"
+HREF="libxml-parserinternals.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-catalog.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-parserinternals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-DOCBPARSER"
+>DOCBparser</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN16846"
+></A
+><H2
+>Name</H2
+>DOCBparser&nbsp;--&nbsp;</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN16849"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>&#13;
+
+typedef     <A
+HREF="libxml-docbparser.html#DOCBPARSERCTXT"
+>docbParserCtxt</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBPARSERNODEINFO"
+>docbParserNodeInfo</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLER"
+>docbSAXHandler</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBPARSERINPUT"
+>docbParserInput</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBPARSERINPUTPTR"
+>docbParserInputPtr</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>;
+typedef     <A
+HREF="libxml-docbparser.html#DOCBNODEPTR"
+>docbNodePtr</A
+>;
+int         <A
+HREF="libxml-docbparser.html#DOCBENCODEENTITIES"
+>docbEncodeEntities</A
+>              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);
+<A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  <A
+HREF="libxml-docbparser.html#DOCBSAXPARSEDOC"
+>docbSAXParseDoc</A
+>                 (<A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur,
+                                             const char *encoding,
+                                             <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *userData);
+<A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  <A
+HREF="libxml-docbparser.html#DOCBPARSEDOC"
+>docbParseDoc</A
+>                    (<A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur,
+                                             const char *encoding);
+<A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  <A
+HREF="libxml-docbparser.html#DOCBSAXPARSEFILE"
+>docbSAXParseFile</A
+>                (const char *filename,
+                                             const char *encoding,
+                                             <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *userData);
+<A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  <A
+HREF="libxml-docbparser.html#DOCBPARSEFILE"
+>docbParseFile</A
+>                   (const char *filename,
+                                             const char *encoding);
+void        <A
+HREF="libxml-docbparser.html#DOCBFREEPARSERCTXT"
+>docbFreeParserCtxt</A
+>              (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> ctxt);
+<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> <A
+HREF="libxml-docbparser.html#DOCBCREATEPUSHPARSERCTXT"
+>docbCreatePushParserCtxt</A
+>  (<A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <A
+HREF="libxml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);
+int         <A
+HREF="libxml-docbparser.html#DOCBPARSECHUNK"
+>docbParseChunk</A
+>                  (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);
+<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> <A
+HREF="libxml-docbparser.html#DOCBCREATEFILEPARSERCTXT"
+>docbCreateFileParserCtxt</A
+>  (const char *filename,
+                                             const char *encoding);
+int         <A
+HREF="libxml-docbparser.html#DOCBPARSEDOCUMENT"
+>docbParseDocument</A
+>               (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN16886"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN16889"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16891"
+></A
+><H3
+><A
+NAME="DOCBPARSERCTXT"
+></A
+>docbParserCtxt</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxt docbParserCtxt;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16896"
+></A
+><H3
+><A
+NAME="DOCBPARSERCTXTPTR"
+></A
+>docbParserCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxtPtr docbParserCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16901"
+></A
+><H3
+><A
+NAME="DOCBPARSERNODEINFO"
+></A
+>docbParserNodeInfo</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserNodeInfo docbParserNodeInfo;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16906"
+></A
+><H3
+><A
+NAME="DOCBSAXHANDLER"
+></A
+>docbSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandler docbSAXHandler;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16911"
+></A
+><H3
+><A
+NAME="DOCBSAXHANDLERPTR"
+></A
+>docbSAXHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandlerPtr docbSAXHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16916"
+></A
+><H3
+><A
+NAME="DOCBPARSERINPUT"
+></A
+>docbParserInput</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInput docbParserInput;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16921"
+></A
+><H3
+><A
+NAME="DOCBPARSERINPUTPTR"
+></A
+>docbParserInputPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInputPtr docbParserInputPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16926"
+></A
+><H3
+><A
+NAME="DOCBDOCPTR"
+></A
+>docbDocPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlDocPtr docbDocPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16931"
+></A
+><H3
+><A
+NAME="DOCBNODEPTR"
+></A
+>docbNodePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNodePtr docbNodePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16936"
+></A
+><H3
+><A
+NAME="DOCBENCODEENTITIES"
+></A
+>docbEncodeEntities ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         docbEncodeEntities              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Take a block of UTF-8 chars in and try to convert it to an ASCII
+plus SGML entities block of chars out.</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 pointer to an array of bytes to store the result</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>outlen</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the length of <TT
+CLASS="PARAMETER"
+><I
+>out</I
+></TT
+></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"
+>  a pointer to an array of UTF-8 chars</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>inlen</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the length of <TT
+CLASS="PARAMETER"
+><I
+>in</I
+></TT
+></TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>quoteChar</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the quote character to escape (' or ") or zero.</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, -2 if the transcoding fails, or -1 otherwise
+The value of <TT
+CLASS="PARAMETER"
+><I
+>inlen</I
+></TT
+> after return is the number of octets consumed
+as the return value is positive, else unpredictiable.
+The value of <TT
+CLASS="PARAMETER"
+><I
+>outlen</I
+></TT
+> after return is the number of octets consumed.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN16975"
+></A
+><H3
+><A
+NAME="DOCBSAXPARSEDOC"
+></A
+>docbSAXParseDoc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  docbSAXParseDoc                 (<A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur,
+                                             const char *encoding,
+                                             <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *userData);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an SGML in-memory document and build a tree.
+It use the given SAX function block to handle the parsing callback.
+If sax is NULL, fallback to the default DOM tree building 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
+>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"
+><TT
+CLASS="PARAMETER"
+><I
+>encoding</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a free form C string describing the SGML document encoding, or NULL</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 block</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userData</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> if using SAX, this pointer will be provided on callbacks. </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 document tree</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17009"
+></A
+><H3
+><A
+NAME="DOCBPARSEDOC"
+></A
+>docbParseDoc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  docbParseDoc                    (<A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *cur,
+                                             const char *encoding);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an SGML in-memory document and build a 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
+>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"
+><TT
+CLASS="PARAMETER"
+><I
+>encoding</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a free form C string describing the SGML document 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 resulting document tree</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17034"
+></A
+><H3
+><A
+NAME="DOCBSAXPARSEFILE"
+></A
+>docbSAXParseFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  docbSAXParseFile                (const char *filename,
+                                             const char *encoding,
+                                             <A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *userData);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an SGML file and build a tree. Automatic support for ZLIB/Compress
+compressed document is provided by default if found at compile-time.
+It use the given SAX function block to handle the parsing callback.
+If sax is NULL, fallback to the default DOM tree building 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
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename</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"
+>  a free form C string describing the SGML document encoding, or NULL</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 block</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userData</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> if using SAX, this pointer will be provided on callbacks. </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 document tree</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17067"
+></A
+><H3
+><A
+NAME="DOCBPARSEFILE"
+></A
+>docbParseFile ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBDOCPTR"
+>docbDocPtr</A
+>  docbParseFile                   (const char *filename,
+                                             const char *encoding);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse a Docbook SGML file and build a tree. 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
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename</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"
+>  a free form C string describing document 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 resulting document tree</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17091"
+></A
+><H3
+><A
+NAME="DOCBFREEPARSERCTXT"
+></A
+>docbFreeParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        docbFreeParserCtxt              (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</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 SGML parser context</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17107"
+></A
+><H3
+><A
+NAME="DOCBCREATEPUSHPARSERCTXT"
+></A
+>docbCreatePushParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> docbCreatePushParserCtxt  (<A
+HREF="libxml-docbparser.html#DOCBSAXHANDLERPTR"
+>docbSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <A
+HREF="libxml-encoding.html#XMLCHARENCODING"
+>xmlCharEncoding</A
+> enc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for using the DocBook SGML 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="AEN17151"
+></A
+><H3
+><A
+NAME="DOCBPARSECHUNK"
+></A
+>docbParseChunk ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         docbParseChunk                  (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</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="AEN17183"
+></A
+><H3
+><A
+NAME="DOCBCREATEFILEPARSERCTXT"
+></A
+>docbCreateFileParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> docbCreateFileParserCtxt  (const char *filename,
+                                             const char *encoding);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for a file content. 
+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
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename</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 SGML document 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 new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN17207"
+></A
+><H3
+><A
+NAME="DOCBPARSEDOCUMENT"
+></A
+>docbParseDocument ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         docbParseDocument               (<A
+HREF="libxml-docbparser.html#DOCBPARSERCTXTPTR"
+>docbParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an SGML document (and build a tree if using the standard SAX
+interface).</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 SGML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0, -1 in case of error. the parser context is augmented
+as a result of the parsing.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-catalog.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-parserinternals.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
+>catalog</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>parserInternals</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index abfe973..7319454 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -121,7 +121,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN19506"
+NAME="AEN20000"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN19509"
+NAME="AEN20003"
 ></A
 ><H2
 >Synopsis</H2
@@ -324,7 +324,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN19554"
+NAME="AEN20048"
 ></A
 ><H2
 >Description</H2
@@ -334,14 +334,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN19557"
+NAME="AEN20051"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19559"
+NAME="AEN20053"
 ></A
 ><H3
 ><A
@@ -392,7 +392,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19564"
+NAME="AEN20058"
 ></A
 ><H3
 ><A
@@ -519,7 +519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19594"
+NAME="AEN20088"
 ></A
 ><H3
 ><A
@@ -646,7 +646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19624"
+NAME="AEN20118"
 ></A
 ><H3
 ><A
@@ -680,7 +680,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19629"
+NAME="AEN20123"
 ></A
 ><H3
 ><A
@@ -706,7 +706,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19634"
+NAME="AEN20128"
 ></A
 ><H3
 ><A
@@ -737,7 +737,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19640"
+NAME="AEN20134"
 ></A
 ><H3
 ><A
@@ -766,7 +766,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19646"
+NAME="AEN20140"
 ></A
 ><H3
 ><A
@@ -829,7 +829,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19662"
+NAME="AEN20156"
 ></A
 ><H3
 ><A
@@ -911,7 +911,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19683"
+NAME="AEN20177"
 ></A
 ><H3
 ><A
@@ -988,7 +988,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19702"
+NAME="AEN20196"
 ></A
 ><H3
 ><A
@@ -1092,7 +1092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19727"
+NAME="AEN20221"
 ></A
 ><H3
 ><A
@@ -1172,7 +1172,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19747"
+NAME="AEN20241"
 ></A
 ><H3
 ><A
@@ -1247,7 +1247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19766"
+NAME="AEN20260"
 ></A
 ><H3
 ><A
@@ -1275,7 +1275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19772"
+NAME="AEN20266"
 ></A
 ><H3
 ><A
@@ -1356,7 +1356,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19792"
+NAME="AEN20286"
 ></A
 ><H3
 ><A
@@ -1439,7 +1439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19813"
+NAME="AEN20307"
 ></A
 ><H3
 ><A
@@ -1537,7 +1537,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19837"
+NAME="AEN20331"
 ></A
 ><H3
 ><A
@@ -1670,7 +1670,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19868"
+NAME="AEN20362"
 ></A
 ><H3
 ><A
@@ -1793,7 +1793,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19898"
+NAME="AEN20392"
 ></A
 ><H3
 ><A
@@ -1917,7 +1917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19928"
+NAME="AEN20422"
 ></A
 ><H3
 ><A
@@ -1995,7 +1995,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19948"
+NAME="AEN20442"
 ></A
 ><H3
 ><A
@@ -2148,7 +2148,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19983"
+NAME="AEN20477"
 ></A
 ><H3
 ><A
@@ -2301,7 +2301,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20018"
+NAME="AEN20512"
 ></A
 ><H3
 ><A
@@ -2396,7 +2396,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20040"
+NAME="AEN20534"
 ></A
 ><H3
 ><A
diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html
index 2989127..700add5 100644
--- a/doc/html/libxml-lib.html
+++ b/doc/html/libxml-lib.html
@@ -197,6 +197,16 @@
 > &#8212; </DT
 ><DT
 ><A
+HREF="libxml-catalog.html"
+>catalog</A
+> &#8212; </DT
+><DT
+><A
+HREF="libxml-docbparser.html"
+>DOCBparser</A
+> &#8212; </DT
+><DT
+><A
 HREF="libxml-parserinternals.html"
 >parserInternals</A
 > &#8212; </DT
diff --git a/doc/html/libxml-parserinternals.html b/doc/html/libxml-parserinternals.html
index 0ab8884..d97bc02 100644
--- a/doc/html/libxml-parserinternals.html
+++ b/doc/html/libxml-parserinternals.html
@@ -12,8 +12,8 @@
 TITLE="Libxml Library Reference"
 HREF="libxml-lib.html"><LINK
 REL="PREVIOUS"
-TITLE="xmlIO"
-HREF="libxml-xmlio.html"><LINK
+TITLE="DOCBparser"
+HREF="libxml-docbparser.html"><LINK
 REL="NEXT"
 TITLE="encoding"
 HREF="libxml-encoding.html"></HEAD
@@ -47,7 +47,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="libxml-xmlio.html"
+HREF="libxml-docbparser.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -121,7 +121,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN16738"
+NAME="AEN17232"
 ></A
 ><H2
 >Name</H2
@@ -129,7 +129,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN16741"
+NAME="AEN17235"
 ></A
 ><H2
 >Synopsis</H2
@@ -1130,7 +1130,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17016"
+NAME="AEN17510"
 ></A
 ><H2
 >Description</H2
@@ -1140,14 +1140,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN17019"
+NAME="AEN17513"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17021"
+NAME="AEN17515"
 ></A
 ><H3
 ><A
@@ -1173,7 +1173,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17026"
+NAME="AEN17520"
 ></A
 ><H3
 ><A
@@ -1199,7 +1199,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17031"
+NAME="AEN17525"
 ></A
 ><H3
 ><A
@@ -1257,7 +1257,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17045"
+NAME="AEN17539"
 ></A
 ><H3
 ><A
@@ -1315,7 +1315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17059"
+NAME="AEN17553"
 ></A
 ><H3
 ><A
@@ -1373,7 +1373,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17073"
+NAME="AEN17567"
 ></A
 ><H3
 ><A
@@ -1431,7 +1431,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17087"
+NAME="AEN17581"
 ></A
 ><H3
 ><A
@@ -1489,7 +1489,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17101"
+NAME="AEN17595"
 ></A
 ><H3
 ><A
@@ -1547,7 +1547,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17115"
+NAME="AEN17609"
 ></A
 ><H3
 ><A
@@ -1605,7 +1605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17129"
+NAME="AEN17623"
 ></A
 ><H3
 ><A
@@ -1663,7 +1663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17143"
+NAME="AEN17637"
 ></A
 ><H3
 ><A
@@ -1721,7 +1721,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17157"
+NAME="AEN17651"
 ></A
 ><H3
 ><A
@@ -1779,7 +1779,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17171"
+NAME="AEN17665"
 ></A
 ><H3
 ><A
@@ -1837,7 +1837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17185"
+NAME="AEN17679"
 ></A
 ><H3
 ><A
@@ -1895,7 +1895,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17199"
+NAME="AEN17693"
 ></A
 ><H3
 ><A
@@ -1985,7 +1985,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17222"
+NAME="AEN17716"
 ></A
 ><H3
 ><A
@@ -2077,7 +2077,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17246"
+NAME="AEN17740"
 ></A
 ><H3
 ><A
@@ -2162,7 +2162,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17268"
+NAME="AEN17762"
 ></A
 ><H3
 ><A
@@ -2238,7 +2238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17287"
+NAME="AEN17781"
 ></A
 ><H3
 ><A
@@ -2314,7 +2314,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17306"
+NAME="AEN17800"
 ></A
 ><H3
 ><A
@@ -2405,7 +2405,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17330"
+NAME="AEN17824"
 ></A
 ><H3
 ><A
@@ -2481,7 +2481,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17349"
+NAME="AEN17843"
 ></A
 ><H3
 ><A
@@ -2601,7 +2601,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17382"
+NAME="AEN17876"
 ></A
 ><H3
 ><A
@@ -2710,7 +2710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17411"
+NAME="AEN17905"
 ></A
 ><H3
 ><A
@@ -2791,7 +2791,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17432"
+NAME="AEN17926"
 ></A
 ><H3
 ><A
@@ -2871,7 +2871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17452"
+NAME="AEN17946"
 ></A
 ><H3
 ><A
@@ -2967,7 +2967,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17476"
+NAME="AEN17970"
 ></A
 ><H3
 ><A
@@ -3028,7 +3028,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17492"
+NAME="AEN17986"
 ></A
 ><H3
 ><A
@@ -3153,7 +3153,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17523"
+NAME="AEN18017"
 ></A
 ><H3
 ><A
@@ -3253,7 +3253,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17548"
+NAME="AEN18042"
 ></A
 ><H3
 ><A
@@ -3353,7 +3353,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17573"
+NAME="AEN18067"
 ></A
 ><H3
 ><A
@@ -3417,7 +3417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17589"
+NAME="AEN18083"
 ></A
 ><H3
 ><A
@@ -3504,7 +3504,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17611"
+NAME="AEN18105"
 ></A
 ><H3
 ><A
@@ -3606,7 +3606,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17637"
+NAME="AEN18131"
 ></A
 ><H3
 ><A
@@ -3708,7 +3708,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17663"
+NAME="AEN18157"
 ></A
 ><H3
 ><A
@@ -3793,7 +3793,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17684"
+NAME="AEN18178"
 ></A
 ><H3
 ><A
@@ -3875,7 +3875,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17705"
+NAME="AEN18199"
 ></A
 ><H3
 ><A
@@ -3938,7 +3938,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17721"
+NAME="AEN18215"
 ></A
 ><H3
 ><A
@@ -4037,7 +4037,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17746"
+NAME="AEN18240"
 ></A
 ><H3
 ><A
@@ -4118,7 +4118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17767"
+NAME="AEN18261"
 ></A
 ><H3
 ><A
@@ -4248,7 +4248,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17801"
+NAME="AEN18295"
 ></A
 ><H3
 ><A
@@ -4337,7 +4337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17825"
+NAME="AEN18319"
 ></A
 ><H3
 ><A
@@ -4449,7 +4449,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17855"
+NAME="AEN18349"
 ></A
 ><H3
 ><A
@@ -4537,7 +4537,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17879"
+NAME="AEN18373"
 ></A
 ><H3
 ><A
@@ -4620,7 +4620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17901"
+NAME="AEN18395"
 ></A
 ><H3
 ><A
@@ -4691,7 +4691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17920"
+NAME="AEN18414"
 ></A
 ><H3
 ><A
@@ -4783,7 +4783,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17945"
+NAME="AEN18439"
 ></A
 ><H3
 ><A
@@ -4871,7 +4871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17969"
+NAME="AEN18463"
 ></A
 ><H3
 ><A
@@ -4956,7 +4956,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN17992"
+NAME="AEN18486"
 ></A
 ><H3
 ><A
@@ -5061,7 +5061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18019"
+NAME="AEN18513"
 ></A
 ><H3
 ><A
@@ -5199,7 +5199,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18053"
+NAME="AEN18547"
 ></A
 ><H3
 ><A
@@ -5282,7 +5282,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18075"
+NAME="AEN18569"
 ></A
 ><H3
 ><A
@@ -5365,7 +5365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18097"
+NAME="AEN18591"
 ></A
 ><H3
 ><A
@@ -5454,7 +5454,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18119"
+NAME="AEN18613"
 ></A
 ><H3
 ><A
@@ -5585,7 +5585,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18152"
+NAME="AEN18646"
 ></A
 ><H3
 ><A
@@ -5652,7 +5652,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18169"
+NAME="AEN18663"
 ></A
 ><H3
 ><A
@@ -5735,7 +5735,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18191"
+NAME="AEN18685"
 ></A
 ><H3
 ><A
@@ -5802,7 +5802,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18209"
+NAME="AEN18703"
 ></A
 ><H3
 ><A
@@ -5877,7 +5877,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18229"
+NAME="AEN18723"
 ></A
 ><H3
 ><A
@@ -5955,7 +5955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18252"
+NAME="AEN18746"
 ></A
 ><H3
 ><A
@@ -6094,7 +6094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18289"
+NAME="AEN18783"
 ></A
 ><H3
 ><A
@@ -6183,7 +6183,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18313"
+NAME="AEN18807"
 ></A
 ><H3
 ><A
@@ -6270,7 +6270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18336"
+NAME="AEN18830"
 ></A
 ><H3
 ><A
@@ -6373,7 +6373,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18363"
+NAME="AEN18857"
 ></A
 ><H3
 ><A
@@ -6517,7 +6517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18401"
+NAME="AEN18895"
 ></A
 ><H3
 ><A
@@ -6584,7 +6584,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18419"
+NAME="AEN18913"
 ></A
 ><H3
 ><A
@@ -6682,7 +6682,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18445"
+NAME="AEN18939"
 ></A
 ><H3
 ><A
@@ -6762,7 +6762,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18465"
+NAME="AEN18959"
 ></A
 ><H3
 ><A
@@ -6865,7 +6865,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18491"
+NAME="AEN18985"
 ></A
 ><H3
 ><A
@@ -6988,7 +6988,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18522"
+NAME="AEN19016"
 ></A
 ><H3
 ><A
@@ -7071,7 +7071,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18544"
+NAME="AEN19038"
 ></A
 ><H3
 ><A
@@ -7150,7 +7150,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18563"
+NAME="AEN19057"
 ></A
 ><H3
 ><A
@@ -7238,7 +7238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18586"
+NAME="AEN19080"
 ></A
 ><H3
 ><A
@@ -7339,7 +7339,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18610"
+NAME="AEN19104"
 ></A
 ><H3
 ><A
@@ -7413,7 +7413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18629"
+NAME="AEN19123"
 ></A
 ><H3
 ><A
@@ -7499,7 +7499,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18650"
+NAME="AEN19144"
 ></A
 ><H3
 ><A
@@ -7569,7 +7569,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18668"
+NAME="AEN19162"
 ></A
 ><H3
 ><A
@@ -7694,7 +7694,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18702"
+NAME="AEN19196"
 ></A
 ><H3
 ><A
@@ -7794,7 +7794,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18730"
+NAME="AEN19224"
 ></A
 ><H3
 ><A
@@ -7863,7 +7863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18749"
+NAME="AEN19243"
 ></A
 ><H3
 ><A
@@ -7934,7 +7934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18769"
+NAME="AEN19263"
 ></A
 ><H3
 ><A
@@ -7999,7 +7999,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18786"
+NAME="AEN19280"
 ></A
 ><H3
 ><A
@@ -8081,7 +8081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18805"
+NAME="AEN19299"
 ></A
 ><H3
 ><A
@@ -8164,7 +8164,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18827"
+NAME="AEN19321"
 ></A
 ><H3
 ><A
@@ -8249,7 +8249,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18850"
+NAME="AEN19344"
 ></A
 ><H3
 ><A
@@ -8332,7 +8332,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18872"
+NAME="AEN19366"
 ></A
 ><H3
 ><A
@@ -8417,7 +8417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18895"
+NAME="AEN19389"
 ></A
 ><H3
 ><A
@@ -8512,7 +8512,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18917"
+NAME="AEN19411"
 ></A
 ><H3
 ><A
@@ -8577,7 +8577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18934"
+NAME="AEN19428"
 ></A
 ><H3
 ><A
@@ -8644,7 +8644,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18952"
+NAME="AEN19446"
 ></A
 ><H3
 ><A
@@ -8709,7 +8709,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18969"
+NAME="AEN19463"
 ></A
 ><H3
 ><A
@@ -8818,7 +8818,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN18997"
+NAME="AEN19491"
 ></A
 ><H3
 ><A
@@ -8844,7 +8844,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19002"
+NAME="AEN19496"
 ></A
 ><H3
 ><A
@@ -8870,7 +8870,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19007"
+NAME="AEN19501"
 ></A
 ><H3
 ><A
@@ -8896,7 +8896,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19012"
+NAME="AEN19506"
 ></A
 ><H3
 ><A
@@ -8922,7 +8922,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19017"
+NAME="AEN19511"
 ></A
 ><H3
 ><A
@@ -9110,7 +9110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19064"
+NAME="AEN19558"
 ></A
 ><H3
 ><A
@@ -9298,7 +9298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19111"
+NAME="AEN19605"
 ></A
 ><H3
 ><A
@@ -9395,7 +9395,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19135"
+NAME="AEN19629"
 ></A
 ><H3
 ><A
@@ -9474,7 +9474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19155"
+NAME="AEN19649"
 ></A
 ><H3
 ><A
@@ -9571,7 +9571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19179"
+NAME="AEN19673"
 ></A
 ><H3
 ><A
@@ -9650,7 +9650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19199"
+NAME="AEN19693"
 ></A
 ><H3
 ><A
@@ -9729,7 +9729,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19219"
+NAME="AEN19713"
 ></A
 ><H3
 ><A
@@ -9826,7 +9826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19243"
+NAME="AEN19737"
 ></A
 ><H3
 ><A
@@ -9905,7 +9905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19263"
+NAME="AEN19757"
 ></A
 ><H3
 ><A
@@ -10023,7 +10023,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19292"
+NAME="AEN19786"
 ></A
 ><H3
 ><A
@@ -10115,7 +10115,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19314"
+NAME="AEN19808"
 ></A
 ><H3
 ><A
@@ -10205,7 +10205,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19338"
+NAME="AEN19832"
 ></A
 ><H3
 ><A
@@ -10281,7 +10281,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19357"
+NAME="AEN19851"
 ></A
 ><H3
 ><A
@@ -10400,7 +10400,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19386"
+NAME="AEN19880"
 ></A
 ><H3
 ><A
@@ -10496,7 +10496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19410"
+NAME="AEN19904"
 ></A
 ><H3
 ><A
@@ -10610,7 +10610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19438"
+NAME="AEN19932"
 ></A
 ><H3
 ><A
@@ -10673,7 +10673,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19454"
+NAME="AEN19948"
 ></A
 ><H3
 ><A
@@ -10736,7 +10736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19470"
+NAME="AEN19964"
 ></A
 ><H3
 ><A
@@ -10769,7 +10769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN19477"
+NAME="AEN19971"
 ></A
 ><H3
 ><A
@@ -10880,7 +10880,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="libxml-xmlio.html"
+HREF="libxml-docbparser.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -10952,7 +10952,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->xmlIO</B
+>DOCBparser</B
 ></FONT
 ></TD
 ><TD
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
new file mode 100644
index 0000000..c837183
--- /dev/null
+++ b/doc/html/libxml-xmlerror.html
@@ -0,0 +1,1203 @@
+<HTML
+><HEAD
+><TITLE
+>xmlerror</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="uri"
+HREF="libxml-uri.html"><LINK
+REL="NEXT"
+TITLE="HTMLparser"
+HREF="libxml-htmlparser.html"></HEAD
+><BODY
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-uri.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-htmlparser.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-XMLERROR"
+>xmlerror</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN9873"
+></A
+><H2
+>Name</H2
+>xmlerror&nbsp;--&nbsp;</DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN9876"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>&#13;
+
+enum        <A
+HREF="libxml-xmlerror.html#XMLPARSERERRORS"
+>xmlParserErrors</A
+>;
+void        (<A
+HREF="libxml-xmlerror.html#XMLGENERICERRORFUNC"
+>*xmlGenericErrorFunc</A
+>)          (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="libxml-xmlerror.html#XMLSETGENERICERRORFUNC"
+>xmlSetGenericErrorFunc</A
+>          (void *ctx,
+                                             <A
+HREF="libxml-xmlerror.html#XMLGENERICERRORFUNC"
+>xmlGenericErrorFunc</A
+> handler);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERERROR"
+>xmlParserError</A
+>                  (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERWARNING"
+>xmlParserWarning</A
+>                (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERVALIDITYERROR"
+>xmlParserValidityError</A
+>          (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERVALIDITYWARNING"
+>xmlParserValidityWarning</A
+>        (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERPRINTFILEINFO"
+>xmlParserPrintFileInfo</A
+>          (<A
+HREF="libxml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);
+void        <A
+HREF="libxml-xmlerror.html#XMLPARSERPRINTFILECONTEXT"
+>xmlParserPrintFileContext</A
+>       (<A
+HREF="libxml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN9891"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN9894"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9896"
+></A
+><H3
+><A
+NAME="XMLPARSERERRORS"
+></A
+>enum xmlParserErrors</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef enum {
+    XML_ERR_OK = 0,
+    XML_ERR_INTERNAL_ERROR,
+    XML_ERR_NO_MEMORY,
+    
+    XML_ERR_DOCUMENT_START, /* 3 */
+    XML_ERR_DOCUMENT_EMPTY,
+    XML_ERR_DOCUMENT_END,
+
+    XML_ERR_INVALID_HEX_CHARREF, /* 6 */
+    XML_ERR_INVALID_DEC_CHARREF,
+    XML_ERR_INVALID_CHARREF,
+    XML_ERR_INVALID_CHAR,
+
+    XML_ERR_CHARREF_AT_EOF, /* 10 */
+    XML_ERR_CHARREF_IN_PROLOG,
+    XML_ERR_CHARREF_IN_EPILOG,
+    XML_ERR_CHARREF_IN_DTD,
+    XML_ERR_ENTITYREF_AT_EOF,
+    XML_ERR_ENTITYREF_IN_PROLOG,
+    XML_ERR_ENTITYREF_IN_EPILOG,
+    XML_ERR_ENTITYREF_IN_DTD,
+    XML_ERR_PEREF_AT_EOF,
+    XML_ERR_PEREF_IN_PROLOG,
+    XML_ERR_PEREF_IN_EPILOG,
+    XML_ERR_PEREF_IN_INT_SUBSET,
+
+    XML_ERR_ENTITYREF_NO_NAME, /* 22 */
+    XML_ERR_ENTITYREF_SEMICOL_MISSING,
+
+    XML_ERR_PEREF_NO_NAME, /* 24 */
+    XML_ERR_PEREF_SEMICOL_MISSING,
+
+    XML_ERR_UNDECLARED_ENTITY, /* 26 */
+    XML_WAR_UNDECLARED_ENTITY,
+    XML_ERR_UNPARSED_ENTITY,
+    XML_ERR_ENTITY_IS_EXTERNAL,
+    XML_ERR_ENTITY_IS_PARAMETER,
+
+    XML_ERR_UNKNOWN_ENCODING, /* 31 */
+    XML_ERR_UNSUPPORTED_ENCODING,
+
+    XML_ERR_STRING_NOT_STARTED, /* 33 */
+    XML_ERR_STRING_NOT_CLOSED,
+    XML_ERR_NS_DECL_ERROR,
+
+    XML_ERR_ENTITY_NOT_STARTED, /* 36 */
+    XML_ERR_ENTITY_NOT_FINISHED,
+    
+    XML_ERR_LT_IN_ATTRIBUTE, /* 38 */
+    XML_ERR_ATTRIBUTE_NOT_STARTED,
+    XML_ERR_ATTRIBUTE_NOT_FINISHED,
+    XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
+    XML_ERR_ATTRIBUTE_REDEFINED,
+
+    XML_ERR_LITERAL_NOT_STARTED, /* 43 */
+    XML_ERR_LITERAL_NOT_FINISHED,
+    
+    XML_ERR_COMMENT_NOT_FINISHED, /* 45 */
+
+    XML_ERR_PI_NOT_STARTED, /* 47 */
+    XML_ERR_PI_NOT_FINISHED,
+
+    XML_ERR_NOTATION_NOT_STARTED, /* 49 */
+    XML_ERR_NOTATION_NOT_FINISHED,
+
+    XML_ERR_ATTLIST_NOT_STARTED, /* 51 */
+    XML_ERR_ATTLIST_NOT_FINISHED,
+
+    XML_ERR_MIXED_NOT_STARTED, /* 53 */
+    XML_ERR_MIXED_NOT_FINISHED,
+
+    XML_ERR_ELEMCONTENT_NOT_STARTED, /* 55 */
+    XML_ERR_ELEMCONTENT_NOT_FINISHED,
+
+    XML_ERR_XMLDECL_NOT_STARTED, /* 57 */
+    XML_ERR_XMLDECL_NOT_FINISHED,
+
+    XML_ERR_CONDSEC_NOT_STARTED, /* 59 */
+    XML_ERR_CONDSEC_NOT_FINISHED,
+
+    XML_ERR_EXT_SUBSET_NOT_FINISHED, /* 61 */
+
+    XML_ERR_DOCTYPE_NOT_FINISHED, /* 62 */
+
+    XML_ERR_MISPLACED_CDATA_END, /* 63 */
+    XML_ERR_CDATA_NOT_FINISHED,
+
+    XML_ERR_RESERVED_XML_NAME, /* 65 */
+
+    XML_ERR_SPACE_REQUIRED, /* 66 */
+    XML_ERR_SEPARATOR_REQUIRED,
+    XML_ERR_NMTOKEN_REQUIRED,
+    XML_ERR_NAME_REQUIRED,
+    XML_ERR_PCDATA_REQUIRED,
+    XML_ERR_URI_REQUIRED,
+    XML_ERR_PUBID_REQUIRED,
+    XML_ERR_LT_REQUIRED,
+    XML_ERR_GT_REQUIRED,
+    XML_ERR_LTSLASH_REQUIRED,
+    XML_ERR_EQUAL_REQUIRED,
+
+    XML_ERR_TAG_NAME_MISMATCH, /* 77 */
+    XML_ERR_TAG_NOT_FINISED,
+
+    XML_ERR_STANDALONE_VALUE, /* 79 */
+
+    XML_ERR_ENCODING_NAME, /* 80 */
+
+    XML_ERR_HYPHEN_IN_COMMENT, /* 81 */
+
+    XML_ERR_INVALID_ENCODING, /* 82 */
+
+    XML_ERR_EXT_ENTITY_STANDALONE, /* 83 */
+
+    XML_ERR_CONDSEC_INVALID, /* 84 */
+
+    XML_ERR_VALUE_REQUIRED, /* 85 */
+
+    XML_ERR_NOT_WELL_BALANCED, /* 86 */
+    XML_ERR_EXTRA_CONTENT, /* 87 */
+    XML_ERR_ENTITY_CHAR_ERROR, /* 88 */
+    XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
+    XML_ERR_ENTITY_LOOP, /* 89 */
+    XML_ERR_ENTITY_BOUNDARY, /* 90 */
+    XML_ERR_INVALID_URI, /* 91 */
+    XML_ERR_URI_FRAGMENT /* 92 */
+}xmlParserErrors;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9901"
+></A
+><H3
+><A
+NAME="XMLGENERICERRORFUNC"
+></A
+>xmlGenericErrorFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*xmlGenericErrorFunc)          (void *ctx,
+                                             const char *msg,
+                                             ...);</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
+>msg</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
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&#13;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9923"
+></A
+><H3
+><A
+NAME="XMLSETGENERICERRORFUNC"
+></A
+>xmlSetGenericErrorFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSetGenericErrorFunc          (void *ctx,
+                                             <A
+HREF="libxml-xmlerror.html#XMLGENERICERRORFUNC"
+>xmlGenericErrorFunc</A
+> handler);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to reset the handler and the error context for out of
+context error messages.
+This simply means that <TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+> will be called for subsequent
+error messages while not parsing nor validating. And <TT
+CLASS="PARAMETER"
+><I
+>ctx</I
+></TT
+> will
+be passed as first argument to <TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+>
+One can simply force messages to be emitted to another FILE * than
+stderr by setting <TT
+CLASS="PARAMETER"
+><I
+>ctx</I
+></TT
+> to this file handle and <TT
+CLASS="PARAMETER"
+><I
+>handler</I
+></TT
+> to 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
+>ctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new error handling 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 new handler function</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9948"
+></A
+><H3
+><A
+NAME="XMLPARSERERROR"
+></A
+>xmlParserError ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserError                  (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format an error messages, gives file, line, position and
+extra parameters.</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
+>ctx</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
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9971"
+></A
+><H3
+><A
+NAME="XMLPARSERWARNING"
+></A
+>xmlParserWarning ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserWarning                (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format a warning messages, gives file, line, position and
+extra parameters.</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
+>ctx</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
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN9994"
+></A
+><H3
+><A
+NAME="XMLPARSERVALIDITYERROR"
+></A
+>xmlParserValidityError ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserValidityError          (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format an validity error messages, gives file,
+line, position and extra parameters.</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
+>ctx</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
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10017"
+></A
+><H3
+><A
+NAME="XMLPARSERVALIDITYWARNING"
+></A
+>xmlParserValidityWarning ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserValidityWarning        (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format a validity warning messages, gives file, line,
+position and extra parameters.</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
+>ctx</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
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10040"
+></A
+><H3
+><A
+NAME="XMLPARSERPRINTFILEINFO"
+></A
+>xmlParserPrintFileInfo ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserPrintFileInfo          (<A
+HREF="libxml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Displays the associated file and line informations for the current 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
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlParserInputPtr input</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN10056"
+></A
+><H3
+><A
+NAME="XMLPARSERPRINTFILECONTEXT"
+></A
+>xmlParserPrintFileContext ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserPrintFileContext       (<A
+HREF="libxml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Displays current context within the input content for error tracking</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
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlParserInputPtr input</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-uri.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>&#60;&#60;&#60; Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-htmlparser.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
+>uri</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>HTMLparser</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/html/libxml-xmlio.html b/doc/html/libxml-xmlio.html
index 4d0b958..56f833c 100644
--- a/doc/html/libxml-xmlio.html
+++ b/doc/html/libxml-xmlio.html
@@ -15,8 +15,8 @@
 TITLE="nanoftp"
 HREF="libxml-nanoftp.html"><LINK
 REL="NEXT"
-TITLE="parserInternals"
-HREF="libxml-parserinternals.html"></HEAD
+TITLE="catalog"
+HREF="libxml-catalog.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
@@ -101,7 +101,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="libxml-parserinternals.html"
+HREF="libxml-catalog.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -4320,7 +4320,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="libxml-parserinternals.html"
+HREF="libxml-catalog.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -4348,7 +4348,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->parserInternals</B
+>catalog</B
 ></FONT
 ></TD
 ></TR
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
index 4af7330..57a0f47 100644
--- a/doc/html/libxml-xmlmemory.html
+++ b/doc/html/libxml-xmlmemory.html
@@ -109,7 +109,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN20455"
+NAME="AEN20949"
 ></A
 ><H2
 >Name</H2
@@ -117,7 +117,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN20458"
+NAME="AEN20952"
 ></A
 ><H2
 >Synopsis</H2
@@ -268,7 +268,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20492"
+NAME="AEN20986"
 ></A
 ><H2
 >Description</H2
@@ -278,14 +278,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN20495"
+NAME="AEN20989"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20497"
+NAME="AEN20991"
 ></A
 ><H3
 ><A
@@ -311,7 +311,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20502"
+NAME="AEN20996"
 ></A
 ><H3
 ><A
@@ -337,7 +337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20507"
+NAME="AEN21001"
 ></A
 ><H3
 ><A
@@ -363,7 +363,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20512"
+NAME="AEN21006"
 ></A
 ><H3
 ><A
@@ -438,7 +438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20530"
+NAME="AEN21024"
 ></A
 ><H3
 ><A
@@ -496,7 +496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20544"
+NAME="AEN21038"
 ></A
 ><H3
 ><A
@@ -554,7 +554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20558"
+NAME="AEN21052"
 ></A
 ><H3
 ><A
@@ -630,7 +630,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20576"
+NAME="AEN21070"
 ></A
 ><H3
 ><A
@@ -703,7 +703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20594"
+NAME="AEN21088"
 ></A
 ><H3
 ><A
@@ -860,7 +860,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20634"
+NAME="AEN21128"
 ></A
 ><H3
 ><A
@@ -1013,7 +1013,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20673"
+NAME="AEN21167"
 ></A
 ><H3
 ><A
@@ -1071,7 +1071,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20688"
+NAME="AEN21182"
 ></A
 ><H3
 ><A
@@ -1129,7 +1129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20703"
+NAME="AEN21197"
 ></A
 ><H3
 ><A
@@ -1193,7 +1193,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20719"
+NAME="AEN21213"
 ></A
 ><H3
 ><A
@@ -1280,7 +1280,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20740"
+NAME="AEN21234"
 ></A
 ><H3
 ><A
@@ -1308,7 +1308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20746"
+NAME="AEN21240"
 ></A
 ><H3
 ><A
@@ -1366,7 +1366,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20760"
+NAME="AEN21254"
 ></A
 ><H3
 ><A
@@ -1441,7 +1441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20778"
+NAME="AEN21272"
 ></A
 ><H3
 ><A
@@ -1499,7 +1499,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20792"
+NAME="AEN21286"
 ></A
 ><H3
 ><A
@@ -1598,7 +1598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20816"
+NAME="AEN21310"
 ></A
 ><H3
 ><A
@@ -1715,7 +1715,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN20844"
+NAME="AEN21338"
 ></A
 ><H3
 ><A
diff --git a/include/libxml/catalog.h b/include/libxml/catalog.h
index f91ee94..eb77845 100644
--- a/include/libxml/catalog.h
+++ b/include/libxml/catalog.h
@@ -21,9 +21,11 @@
 extern "C" {
 #endif
 
-int	xmlLoadCatalog		(const char *URL);
-void	xmlCatalogCleanup	(void);
-void	xmlCatalogDump		(FILE *out);
+int		xmlLoadCatalog		(const char *URL);
+void		xmlCatalogCleanup	(void);
+void		xmlCatalogDump		(FILE *out);
+const xmlChar *	xmlCatalogGetSystem	(const xmlChar *sysID);
+const xmlChar *	xmlCatalogGetPublic	(const xmlChar *pubID);
 
 #ifdef __cplusplus
 }
diff --git a/xmlIO.c b/xmlIO.c
index 4f11387..43df99f 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -65,6 +65,9 @@
 #include <libxml/nanohttp.h>
 #include <libxml/nanoftp.h>
 #include <libxml/xmlerror.h>
+#ifdef LIBXML_CATALOG_ENABLED
+#include <libxml/catalog.h>
+#endif
 
 #ifdef VMS
 #define xmlRegisterDefaultInputCallbacks xmlRegisterDefInputCallbacks
@@ -1587,12 +1590,26 @@
 xmlDefaultExternalEntityLoader(const char *URL, const char *ID,
                                xmlParserCtxtPtr ctxt) {
     xmlParserInputPtr ret = NULL;
+    const xmlChar *resource = NULL;
 
 #ifdef DEBUG_EXTERNAL_ENTITIES
     xmlGenericError(xmlGenericErrorContext,
 	    "xmlDefaultExternalEntityLoader(%s, xxx)\n", URL);
 #endif
-    if (URL == NULL) {
+#ifdef LIBXML_CATALOG_ENABLED
+    /*
+     * Try to load it from the resource pointed in the catalog
+     */
+    if (ID != NULL)
+	resource = xmlCatalogGetPublic((const xmlChar *)ID);
+    if ((resource == NULL) && (URL != NULL))
+	resource = xmlCatalogGetSystem((const xmlChar *)URL);
+#endif
+
+    if (resource == NULL)
+	resource = (const xmlChar *)URL;
+
+    if (resource == NULL) {
 	if ((ctxt->validate) && (ctxt->sax != NULL) && 
             (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt,
@@ -1602,15 +1619,15 @@
 		    "failed to load external entity \"%s\"\n", ID);
         return(NULL);
     }
-    ret = xmlNewInputFromFile(ctxt, URL);
+    ret = xmlNewInputFromFile(ctxt, (const char *)resource);
     if (ret == NULL) {
 	if ((ctxt->validate) && (ctxt->sax != NULL) && 
             (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt,
-		    "failed to load external entity \"%s\"\n", URL);
+		    "failed to load external entity \"%s\"\n", resource);
 	else if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
 	    ctxt->sax->warning(ctxt,
-		    "failed to load external entity \"%s\"\n", URL);
+		    "failed to load external entity \"%s\"\n", resource);
     }
     return(ret);
 }