diff --git a/ChangeLog b/ChangeLog
index c4f090d..c583338 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sun Nov 17 10:25:43 CET 2002 Daniel Veillard <daniel@veillard.com>
+
+	* configure.in: preparing release 2.4.27
+	* doc/* : updated and rebuilt the docs
+	* doc/Makefile.am libxml.spec.in: try to make sure the tutorial
+	  and all the docs are actually packaged and in the final RPMs
+	* parser.c parserInternals.c include/libxml/parser.h: restore
+	  xmllint --recover feature.
+
 Sat Nov 16 16:30:25 CET 2002 Daniel Veillard <daniel@veillard.com>
 
 	* parser.c xpath.c: fixing #96925 wich was also dependant on the
diff --git a/DOCBparser.c b/DOCBparser.c
index 33f5255..6f38151 100644
--- a/DOCBparser.c
+++ b/DOCBparser.c
@@ -312,7 +312,7 @@
                    ctxt->sax->error(ctxt->userData, 
                                     "Char 0x%X out of allowed range\n", val);
                ctxt->wellFormed = 0;
-               ctxt->disableSAX = 1;
+               if (ctxt->recovery == 0) ctxt->disableSAX = 1;
            }    
            return(val);
        } else {
@@ -2520,14 +2520,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     if (ctxt->node != newDoc->children) {
 	ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
@@ -2535,7 +2535,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (!ctxt->wellFormed) {
@@ -3161,7 +3161,7 @@
 			ctxt->sax->error(ctxt->userData, 
     "PI declaration doesn't start and stop in the same entity\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP(2);
 
@@ -3210,7 +3210,7 @@
 			ctxt->sax->error(ctxt->userData,
 			  "docbParsePI: PI %s space expected\n", target);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP_BLANKS;
 	    }
@@ -3248,7 +3248,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		      "docbParsePI: PI %s never end ...\n", target);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else {
 		if (input != ctxt->input) {
 		    ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
@@ -3256,7 +3256,7 @@
 			ctxt->sax->error(ctxt->userData, 
     "PI declaration doesn't start and stop in the same entity\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP(2);
 
@@ -3276,7 +3276,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		       "docbParsePI : no target name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	ctxt->instate = state;
     }
@@ -3616,7 +3616,7 @@
                     "Unsupported encoding %s\n", encoding);
            /* xmlFree(encoding); */
            ctxt->wellFormed = 0;
-           ctxt->disableSAX = 1;
+           if (ctxt->recovery == 0) ctxt->disableSAX = 1;
            ctxt->errNo = XML_ERR_UNSUPPORTED_ENCODING;
        }
     }
@@ -4392,7 +4392,7 @@
                ctxt->sax->error(ctxt->userData,
                                 "Space required after '<!ENTITY'\n");
            ctxt->wellFormed = 0;
-           ctxt->disableSAX = 1;
+           if (ctxt->recovery == 0) ctxt->disableSAX = 1;
        }
        SKIP_BLANKS;
 
@@ -4404,7 +4404,7 @@
                    ctxt->sax->error(ctxt->userData,
                                     "Space required after '%'\n");
                ctxt->wellFormed = 0;
-               ctxt->disableSAX = 1;
+               if (ctxt->recovery == 0) ctxt->disableSAX = 1;
            }
            SKIP_BLANKS;
            isParameter = 1;
@@ -4416,7 +4416,7 @@
            if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
                ctxt->sax->error(ctxt->userData, "sgmlarseEntityDecl: no name\n");
            ctxt->wellFormed = 0;
-           ctxt->disableSAX = 1;
+           if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             return;
        }
        if (!IS_BLANK(CUR)) {
@@ -4425,7 +4425,7 @@
                ctxt->sax->error(ctxt->userData,
                     "Space required after the entity name\n");
            ctxt->wellFormed = 0;
-           ctxt->disableSAX = 1;
+           if (ctxt->recovery == 0) ctxt->disableSAX = 1;
        }
         SKIP_BLANKS;
 
@@ -4450,7 +4450,7 @@
                        ctxt->sax->error(ctxt->userData,
                            "Entity value required\n");
                    ctxt->wellFormed = 0;
-                   ctxt->disableSAX = 1;
+                   if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                }
                if (URI) {
                    xmlURIPtr uri;
@@ -4501,7 +4501,7 @@
                        ctxt->sax->error(ctxt->userData,
                            "Entity value required\n");
                    ctxt->wellFormed = 0;
-                   ctxt->disableSAX = 1;
+                   if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                }
                if (URI) {
                    xmlURIPtr uri;
@@ -4534,7 +4534,7 @@
                        ctxt->sax->error(ctxt->userData,
                            "Space required before content model\n");
                    ctxt->wellFormed = 0;
-                   ctxt->disableSAX = 1;
+                   if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                }
                SKIP_BLANKS;
 
@@ -4552,7 +4552,7 @@
                            ctxt->sax->error(ctxt->userData,
                                "Could not parse entity content model\n");
                        ctxt->wellFormed = 0;
-                       ctxt->disableSAX = 1;
+                       if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                    } else {
                        if (xmlStrEqual(contmod, BAD_CAST"NDATA")) {
                            if (!IS_BLANK(CUR)) {
@@ -4562,7 +4562,7 @@
                                    ctxt->sax->error(ctxt->userData,
                                        "Space required after 'NDATA'\n");
                                ctxt->wellFormed = 0;
-                               ctxt->disableSAX = 1;
+                               if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                            }
                            SKIP_BLANKS;
                            ndata = xmlParseName(ctxt);
@@ -4614,7 +4614,7 @@
                ctxt->sax->error(ctxt->userData, 
                    "docbParseEntityDecl: entity %s not terminated\n", name);
            ctxt->wellFormed = 0;
-           ctxt->disableSAX = 1;
+           if (ctxt->recovery == 0) ctxt->disableSAX = 1;
        } else {
            if (input != ctxt->input) {
                ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
@@ -4622,7 +4622,7 @@
                    ctxt->sax->error(ctxt->userData, 
 "Entity declaration doesn't start and stop in the same entity\n");
                ctxt->wellFormed = 0;
-               ctxt->disableSAX = 1;
+               if (ctxt->recovery == 0) ctxt->disableSAX = 1;
            }
            NEXT;
        }
@@ -4726,7 +4726,7 @@
                    ctxt->sax->error(ctxt->userData, 
             "docbParseInternalSubset: error detected in Markup declaration\n");
                ctxt->wellFormed = 0;
-               ctxt->disableSAX = 1;
+               if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                break;
            }
        }
@@ -4744,7 +4744,7 @@
        if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
            ctxt->sax->error(ctxt->userData, "DOCTYPE improperly terminated\n");
        ctxt->wellFormed = 0;
-       ctxt->disableSAX = 1;
+       if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     NEXT;
 }
diff --git a/HTMLparser.c b/HTMLparser.c
index 4610987..34f15ab 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -259,7 +259,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 				     "Char 0x%X out of allowed range\n", val);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }    
 	    return(val);
 	} else {
diff --git a/configure.in b/configure.in
index 1ff3a43..c1ef05d 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=4
-LIBXML_MICRO_VERSION=26
+LIBXML_MICRO_VERSION=27
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index 4ee1668..a0247b1 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -274,10 +279,12 @@
 <a href="html/libxml-valid.html#XMLVALIDATEATTRIBUTEDECL">xmlValidateAttributeDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Attributes</dt>
 <dd>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpointer.html#XMLXPTRBUILDNODELIST">xmlXPtrBuildNodeList</a>
 </dd>
 <dt>Automatic</dt>
diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html
index c8d1149..976dbf4 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -206,6 +211,7 @@
 <a href="html/libxml-parserinternals.html#XMLHANDLEENTITY">xmlHandleEntity</a>
 <a href="html/libxml-valid.html#XMLVALIDATEATTRIBUTEDECL">xmlValidateAttributeDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Deletes</dt>
 <dd>
@@ -484,6 +490,7 @@
 <a href="html/libxml-tree.html#XMLNODEGETBASE">xmlNodeGetBase</a>
 <a href="html/libxml-tree.html#XMLNODEGETCONTENT">xmlNodeGetContent</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>EntityValue</dt>
 <dd>
diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html
index adebf68..3a2d5e3 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html
index 8b61314..f59f0fe 100644
--- a/doc/APIchunk11.html
+++ b/doc/APIchunk11.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -248,6 +253,7 @@
 </dd>
 <dt>files</dt>
 <dd>
+<a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
 <a href="html/libxml-nanoftp.html#XMLNANOFTPLIST">xmlNanoFTPList</a>
 </dd>
 <dt>filled</dt>
diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html
index ad2398e..eb8ff46 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -373,7 +378,6 @@
 </dd>
 <dt>heuristic:</dt>
 <dd>
-<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-valid.html#XMLISREF">xmlIsRef</a>
 </dd>
 <dt>hex</dt>
@@ -913,6 +917,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>instances</dt>
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index fc9e903..6536a81 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -469,6 +474,7 @@
 <dd>
 <a href="html/libxml-sax.html#RESOLVEENTITY">resolveEntity</a>
 <a href="html/libxml-parser.html#RESOLVEENTITYSAXFUNC">resolveEntitySAXFunc</a>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-debugxml.html#XMLSHELLLOAD">xmlShellLoad</a>
 </dd>
 <dt>loads</dt>
@@ -569,7 +575,6 @@
 <dt>lowercase</dt>
 <dd>
 <a href="html/libxml-htmlparser.html#HTMLTAGLOOKUP">htmlTagLookup</a>
-<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-valid.html#XMLISREF">xmlIsRef</a>
 </dd>
 <dt>luckily</dt>
diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html
index edd5acb..c382908 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html
index d4edca3..76eac08 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html
index 15096aa..d6ea7d6 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -217,10 +222,10 @@
 </dd>
 <dt>path</dt>
 <dd>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-tree.html#XMLGETNODEPATH">xmlGetNodePath</a>
 <a href="html/libxml-catalog.html#XMLLOADACATALOG">xmlLoadACatalog</a>
 <a href="html/libxml-catalog.html#XMLLOADCATALOG">xmlLoadCatalog</a>
-<a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
 <a href="html/libxml-catalog.html#XMLLOADSGMLSUPERCATALOG">xmlLoadSGMLSuperCatalog</a>
 <a href="html/libxml-nanoftp.html#XMLNANOFTPGETSOCKET">xmlNanoFTPGetSocket</a>
 <a href="html/libxml-nanoftp.html#XMLNANOFTPUPDATEURL">xmlNanoFTPUpdateURL</a>
@@ -624,6 +629,7 @@
 <a href="html/libxml-parser.html#XMLSTOPPARSER">xmlStopParser</a>
 <a href="html/libxml-uri.html#XMLURI">xmlURI</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xinclude.html#XMLXINCLUDEPROCESS">xmlXIncludeProcess</a>
 </dd>
 <dt>processor</dt>
diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html
index 47710e8..f4979d1 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -274,6 +279,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>recomputed</dt>
@@ -605,6 +611,7 @@
 <dt>requested</dt>
 <dd>
 <a href="html/libxml-parser.html#XMLEXTERNALENTITYLOADER">xmlExternalEntityLoader</a>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-xmlmemory.html#XMLMALLOCFUNC">xmlMallocFunc</a>
 <a href="html/libxml-xmlmemory.html#XMLREALLOCFUNC">xmlReallocFunc</a>
 </dd>
diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html
index ee4e76c..00de49d 100644
--- a/doc/APIchunk18.html
+++ b/doc/APIchunk18.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -283,6 +288,7 @@
 <a href="html/libxml-c14n.html#XMLC14NDOCSAVE">xmlC14NDocSave</a>
 <a href="html/libxml-c14n.html#XMLC14NDOCSAVETO">xmlC14NDocSaveTo</a>
 <a href="html/libxml-c14n.html#XMLC14NEXECUTE">xmlC14NExecute</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-parserinternals.html#XMLISBASECHAR">xmlIsBaseChar</a>
 <a href="html/libxml-parserinternals.html#XMLISCOMBINING">xmlIsCombining</a>
 <a href="html/libxml-parserinternals.html#XMLISDIGIT">xmlIsDigit</a>
@@ -310,7 +316,6 @@
 </dd>
 <dt>separated</dt>
 <dd>
-<a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
 <a href="html/libxml-uri.html#XMLURI">xmlURI</a>
 </dd>
 <dt>sequence</dt>
@@ -502,7 +507,6 @@
 <dd>
 <a href="html/libxml-threads.html#XMLFREEMUTEX">xmlFreeMutex</a>
 <a href="html/libxml-hash.html#XMLHASHSCANNER">xmlHashScanner</a>
-<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-valid.html#XMLISREF">xmlIsRef</a>
 <a href="html/libxml-threads.html#XMLMUTEXLOCK">xmlMutexLock</a>
 <a href="html/libxml-threads.html#XMLMUTEXUNLOCK">xmlMutexUnlock</a>
@@ -525,6 +529,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNEWNODESET">xmlXPathNewNodeSet</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNORMALIZEFUNCTION">xmlXPathNormalizeFunction</a>
 <a href="html/libxml-xpointer.html#XMLXPTRNEWCOLLAPSEDRANGE">xmlXPtrNewCollapsedRange</a>
@@ -555,6 +560,7 @@
 </dd>
 <dt>socket</dt>
 <dd>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-nanoftp.html#XMLNANOFTPGETSOCKET">xmlNanoFTPGetSocket</a>
 </dd>
 <dt>software</dt>
@@ -590,6 +596,7 @@
 <dt>source</dt>
 <dd>
 <a href="html/libxml-htmltree.html#HTMLGETMETAENCODING">htmlGetMetaEncoding</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 </dd>
 <dt>sourceforge</dt>
 <dd>
@@ -606,6 +613,10 @@
 <a href="html/libxml-parserinternals.html#XMLSKIPBLANKCHARS">xmlSkipBlankChars</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNORMALIZEFUNCTION">xmlXPathNormalizeFunction</a>
 </dd>
+<dt>space-separated</dt>
+<dd>
+<a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
+</dd>
 <dt>spaces</dt>
 <dd>
 <a href="html/libxml-htmltree.html#HTMLDOCCONTENTDUMPFORMATOUTPUT">htmlDocContentDumpFormatOutput</a>
@@ -618,7 +629,6 @@
 <a href="html/libxml-tree.html#XMLDOCDUMPFORMATMEMORYENC">xmlDocDumpFormatMemoryEnc</a>
 <a href="html/libxml-tree.html#XMLDOCFORMATDUMP">xmlDocFormatDump</a>
 <a href="html/libxml-parser.html#XMLKEEPBLANKSDEFAULT">xmlKeepBlanksDefault</a>
-<a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
 <a href="html/libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTDECL">xmlParseElementChildrenContentDecl</a>
 <a href="html/libxml-parserinternals.html#XMLPARSEELEMENTMIXEDCONTENTDECL">xmlParseElementMixedContentDecl</a>
 <a href="html/libxml-tree.html#XMLSAVEFORMATFILE">xmlSaveFormatFile</a>
@@ -785,8 +795,7 @@
 <a href="html/libxml-xmlio.html#XMLOUTPUTBUFFERCREATEFILENAME">xmlOutputBufferCreateFilename</a>
 <a href="html/libxml-tree.html#XMLSAVEFILE">xmlSaveFile</a>
 <a href="html/libxml-tree.html#XMLSAVEFORMATFILE">xmlSaveFormatFile</a>
-<a href="html/libxml-debugxml.html#XMLSHELLPRINTNODE">xmlShellPrintNode</a>
-<a href="html/libxml-debugxml.html#XMLSHELLPRINTXPATHRESULT">xmlShellPrintXPathResult</a>
+<a href="html/libxml-debugxml.html#XMLSHELL">xmlShell</a>
 </dd>
 <dt>steam</dt>
 <dd>
@@ -1196,6 +1205,10 @@
 <dd>
 <a href="html/libxml-threads.html#XMLMUTEXPTR">xmlMutexPtr</a>
 </dd>
+<dt>systematically</dt>
+<dd>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
+</dd>
 </dl>
 <h2 align="center">
 <a href="APIchunk0.html">A-C</a>
diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html
index 287cc24..6bb39d6 100644
--- a/doc/APIchunk19.html
+++ b/doc/APIchunk19.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html
index f5dd471..3cefab8 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -176,6 +181,7 @@
 <dt>Fixed</dt>
 <dd>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Float</dt>
 <dd>
@@ -427,6 +433,7 @@
 <dd>
 <a href="html/libxml-tree.html#XMLREF">xmlRef</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>IDs</dt>
 <dd>
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
index dbe2769..dbecbd1 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -267,7 +272,6 @@
 </dd>
 <dt>upper</dt>
 <dd>
-<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-valid.html#XMLISREF">xmlIsRef</a>
 </dd>
 <dt>uri</dt>
@@ -365,6 +369,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>validates</dt>
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
index 9b09bfd..1e3cf4b 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -333,6 +338,7 @@
 <a href="html/libxml-tree.html#XMLNEWGLOBALNS">xmlNewGlobalNs</a>
 <a href="html/libxml-parserinternals.html#XMLSCANNAME">xmlScanName</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>won</dt>
 <dd>
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
index 636d719..2454fe4 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html
index 6311e4d..4637331 100644
--- a/doc/APIchunk3.html
+++ b/doc/APIchunk3.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -384,6 +389,7 @@
 <a href="html/libxml-parserinternals.html#XMLSCANNAME">xmlScanName</a>
 <a href="html/libxml-valid.html#XMLVALIDATENAMEVALUE">xmlValidateNameValue</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Names</dt>
 <dd>
@@ -472,6 +478,7 @@
 <a href="html/libxml-parserinternals.html#XMLPARSENOTATIONTYPE">xmlParseNotationType</a>
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Note</dt>
 <dd>
diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html
index 149cc7f..9b18e39 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html
index 672bd49..91f0bd8 100644
--- a/doc/APIchunk5.html
+++ b/doc/APIchunk5.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -202,6 +207,7 @@
 <dt>Token</dt>
 <dd>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 </dd>
 <dt>Traversal</dt>
 <dd>
@@ -250,6 +256,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>Type</dt>
@@ -257,6 +264,7 @@
 <a href="html/libxml-schemasinternals.html#XMLSCHEMAFREETYPE">xmlSchemaFreeType</a>
 <a href="html/libxml-valid.html#XMLVALIDATEELEMENTDECL">xmlValidateElementDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>Types</dt>
@@ -389,6 +397,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>VMS</dt>
@@ -416,6 +425,7 @@
 <dt>Value</dt>
 <dd>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNEWVALUETREE">xmlXPathNewValueTree</a>
 </dd>
 <dt>Values</dt>
diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html
index e8a18a2..3de294c 100644
--- a/doc/APIchunk6.html
+++ b/doc/APIchunk6.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -128,6 +133,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>XMLSchema</dt>
diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html
index 4e9f4d8..661ad76 100644
--- a/doc/APIchunk7.html
+++ b/doc/APIchunk7.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -173,6 +178,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>basis</dt>
diff --git a/doc/APIchunk8.html b/doc/APIchunk8.html
index 0886d28..1b9e2a0 100644
--- a/doc/APIchunk8.html
+++ b/doc/APIchunk8.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -427,6 +432,7 @@
 <a href="html/libxml-xmlversion.html#LIBXML-TEST-VERSION-CAPS">LIBXML_TEST_VERSION</a>
 <a href="html/libxml-sax.html#CHECKNAMESPACE">checkNamespace</a>
 <a href="html/libxml-htmltree.html#HTMLISBOOLEANATTR">htmlIsBooleanAttr</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-encoding.html#XMLCHECKUTF8">xmlCheckUTF8</a>
 <a href="html/libxml-xmlversion.html#XMLCHECKVERSION">xmlCheckVersion</a>
 <a href="html/libxml-xmlio.html#XMLIOFTPMATCH">xmlIOFTPMatch</a>
@@ -455,6 +461,7 @@
 <dd>
 <a href="html/libxml-htmlparser.html#HTMLAUTOCLOSETAG">htmlAutoCloseTag</a>
 <a href="html/libxml-htmlparser.html#HTMLISAUTOCLOSED">htmlIsAutoClosed</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-encoding.html#XMLCHECKUTF8">xmlCheckUTF8</a>
 <a href="html/libxml-nanoftp.html#XMLNANOFTPINIT">xmlNanoFTPInit</a>
 <a href="html/libxml-nanohttp.html#XMLNANOHTTPINIT">xmlNanoHTTPInit</a>
@@ -466,6 +473,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNODESETCONTAINS">xmlXPathNodeSetContains</a>
 </dd>
 <dt>children</dt>
diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html
index 5f37651..005234b 100644
--- a/doc/APIchunk9.html
+++ b/doc/APIchunk9.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -238,6 +243,7 @@
 </dd>
 <dt>defaults</dt>
 <dd>
+<a href="html/libxml-debugxml.html#XMLSHELL">xmlShell</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHLOCALNAMEFUNCTION">xmlXPathLocalNameFunction</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNAMESPACEURIFUNCTION">xmlXPathNamespaceURIFunction</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNORMALIZEFUNCTION">xmlXPathNormalizeFunction</a>
@@ -367,6 +373,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 </dd>
 <dt>describing</dt>
@@ -470,6 +477,7 @@
 <a href="html/libxml-docbparser.html#DOCBCREATEPUSHPARSERCTXT">docbCreatePushParserCtxt</a>
 <a href="html/libxml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT">htmlCreatePushParserCtxt</a>
 <a href="html/libxml-parser.html#XMLCREATEPUSHPARSERCTXT">xmlCreatePushParserCtxt</a>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-parser.html#XMLPARSEBALANCEDCHUNKMEMORY">xmlParseBalancedChunkMemory</a>
 <a href="html/libxml-parser.html#XMLPARSEBALANCEDCHUNKMEMORYRECOVER">xmlParseBalancedChunkMemoryRecover</a>
 <a href="html/libxml-parser.html#XMLPARSEEXTERNALENTITY">xmlParseExternalEntity</a>
@@ -606,6 +614,7 @@
 </dd>
 <dt>documents</dt>
 <dd>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-parser.html#XMLSAXPARSEDOC">xmlSAXParseDoc</a>
 <a href="html/libxml-parser.html#XMLSAXPARSEFILE">xmlSAXParseFile</a>
 <a href="html/libxml-parser.html#XMLSAXPARSEFILEWITHDATA">xmlSAXParseFileWithData</a>
@@ -625,6 +634,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONDECL">xmlValidateNotationDecl</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHSUBSTRINGAFTERFUNCTION">xmlXPathSubstringAfterFunction</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHSUBSTRINGBEFOREFUNCTION">xmlXPathSubstringBeforeFunction</a>
@@ -661,6 +671,7 @@
 <a href="html/libxml-entities.html#XMLENCODESPECIALCHARS">xmlEncodeSpecialChars</a>
 <a href="html/libxml-entities.html#XMLGETDOCENTITY">xmlGetDocEntity</a>
 <a href="html/libxml-catalog.html#XMLINITIALIZECATALOG">xmlInitializeCatalog</a>
+<a href="html/libxml-valid.html#XMLISID">xmlIsID</a>
 <a href="html/libxml-parser.html#XMLKEEPBLANKSDEFAULT">xmlKeepBlanksDefault</a>
 <a href="html/libxml-catalog.html#XMLLOADCATALOG">xmlLoadCatalog</a>
 <a href="html/libxml-catalog.html#XMLLOADCATALOGS">xmlLoadCatalogs</a>
diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html
index 601c30b..8b77123 100644
--- a/doc/APIconstructors.html
+++ b/doc/APIconstructors.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 87b6489..7db45e8 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -1077,7 +1082,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATEELEMENT">xmlValidateElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEDOCUMENTFINAL">xmlValidateDocumentFinal</a>
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLISMIXEDELEMENT">xmlIsMixedElement</a>
@@ -1095,6 +1100,46 @@
 <a href="html/libxml-valid.html#XMLVALIDBUILDCONTENTMODEL">xmlValidBuildContentModel</a>
 </p>
 <h2>
+<a name="wsockcompat">Module wsockcompat</a>:</h2>
+<p>
+<a href="html/libxml-wsockcompat.html#SOCKLEN-T-CAPS">SOCKLEN_T</a>
+<a href="html/libxml-wsockcompat.html#EWOULDBLOCK-CAPS">EWOULDBLOCK</a>
+<a href="html/libxml-wsockcompat.html#EINPROGRESS-CAPS">EINPROGRESS</a>
+<a href="html/libxml-wsockcompat.html#EALREADY-CAPS">EALREADY</a>
+<a href="html/libxml-wsockcompat.html#ENOTSOCK-CAPS">ENOTSOCK</a>
+<a href="html/libxml-wsockcompat.html#EDESTADDRREQ-CAPS">EDESTADDRREQ</a>
+<a href="html/libxml-wsockcompat.html#EMSGSIZE-CAPS">EMSGSIZE</a>
+<a href="html/libxml-wsockcompat.html#EPROTOTYPE-CAPS">EPROTOTYPE</a>
+<a href="html/libxml-wsockcompat.html#ENOPROTOOPT-CAPS">ENOPROTOOPT</a>
+<a href="html/libxml-wsockcompat.html#EPROTONOSUPPORT-CAPS">EPROTONOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#ESOCKTNOSUPPORT-CAPS">ESOCKTNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EOPNOTSUPP-CAPS">EOPNOTSUPP</a>
+<a href="html/libxml-wsockcompat.html#EPFNOSUPPORT-CAPS">EPFNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EAFNOSUPPORT-CAPS">EAFNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EADDRINUSE-CAPS">EADDRINUSE</a>
+<a href="html/libxml-wsockcompat.html#EADDRNOTAVAIL-CAPS">EADDRNOTAVAIL</a>
+<a href="html/libxml-wsockcompat.html#ENETDOWN-CAPS">ENETDOWN</a>
+<a href="html/libxml-wsockcompat.html#ENETUNREACH-CAPS">ENETUNREACH</a>
+<a href="html/libxml-wsockcompat.html#ENETRESET-CAPS">ENETRESET</a>
+<a href="html/libxml-wsockcompat.html#ECONNABORTED-CAPS">ECONNABORTED</a>
+<a href="html/libxml-wsockcompat.html#ECONNRESET-CAPS">ECONNRESET</a>
+<a href="html/libxml-wsockcompat.html#ENOBUFS-CAPS">ENOBUFS</a>
+<a href="html/libxml-wsockcompat.html#EISCONN-CAPS">EISCONN</a>
+<a href="html/libxml-wsockcompat.html#ENOTCONN-CAPS">ENOTCONN</a>
+<a href="html/libxml-wsockcompat.html#ESHUTDOWN-CAPS">ESHUTDOWN</a>
+<a href="html/libxml-wsockcompat.html#ETOOMANYREFS-CAPS">ETOOMANYREFS</a>
+<a href="html/libxml-wsockcompat.html#ETIMEDOUT-CAPS">ETIMEDOUT</a>
+<a href="html/libxml-wsockcompat.html#ECONNREFUSED-CAPS">ECONNREFUSED</a>
+<a href="html/libxml-wsockcompat.html#ELOOP-CAPS">ELOOP</a>
+<a href="html/libxml-wsockcompat.html#EHOSTDOWN-CAPS">EHOSTDOWN</a>
+<a href="html/libxml-wsockcompat.html#EHOSTUNREACH-CAPS">EHOSTUNREACH</a>
+<a href="html/libxml-wsockcompat.html#EPROCLIM-CAPS">EPROCLIM</a>
+<a href="html/libxml-wsockcompat.html#EUSERS-CAPS">EUSERS</a>
+<a href="html/libxml-wsockcompat.html#EDQUOT-CAPS">EDQUOT</a>
+<a href="html/libxml-wsockcompat.html#ESTALE-CAPS">ESTALE</a>
+<a href="html/libxml-wsockcompat.html#EREMOTE-CAPS">EREMOTE</a>
+</p>
+<h2>
 <a name="xinclude">Module xinclude</a>:</h2>
 <p>
 <a href="html/libxml-xinclude.html#XMLXINCLUDEPROCESS">xmlXIncludeProcess</a>
@@ -1143,6 +1188,7 @@
 <a href="html/libxml-xmlio.html#XMLREGISTERHTTPPOSTCALLBACKS">xmlRegisterHTTPPostCallbacks</a>
 <a href="html/libxml-xmlio.html#XMLNONETEXTERNALENTITYLOADER">xmlNoNetExternalEntityLoader</a>
 <a href="html/libxml-xmlio.html#XMLNORMALIZEWINDOWSPATH">xmlNormalizeWindowsPath</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-xmlio.html#XMLFILEMATCH">xmlFileMatch</a>
 <a href="html/libxml-xmlio.html#XMLFILEOPEN">xmlFileOpen</a>
 <a href="html/libxml-xmlio.html#XMLFILEREAD">xmlFileRead</a>
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index 1e3c2c4..8bffc99 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -443,8 +448,8 @@
 <a href="html/libxml-valid.html#XMLVALIDCTXTNORMALIZEATTRIBUTEVALUE">xmlValidCtxtNormalizeAttributeValue</a>
 <a href="html/libxml-valid.html#XMLVALIDATEATTRIBUTEVALUE">xmlValidateAttributeValue</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
-<a href="">xmlValidateOneNamespace</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLISMIXEDELEMENT">xmlIsMixedElement</a>
 <a href="html/libxml-valid.html#XMLGETDTDATTRDESC">xmlGetDtdAttrDesc</a>
@@ -1198,7 +1203,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATEELEMENT">xmlValidateElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEDOCUMENTFINAL">xmlValidateDocumentFinal</a>
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLISMIXEDELEMENT">xmlIsMixedElement</a>
@@ -1569,7 +1574,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATEELEMENT">xmlValidateElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpath.html#XMLXPATHNODESETCREATE">xmlXPathNodeSetCreate</a>
 <a href="html/libxml-xpath.html#XMLXPATHCMPNODES">xmlXPathCmpNodes</a>
 <a href="html/libxml-xpath.html#XMLXPATHCMPNODES">xmlXPathCmpNodes</a>
@@ -1692,7 +1697,7 @@
 <a href="html/libxml-tree.html#XMLCOPYNAMESPACELIST">xmlCopyNamespaceList</a>
 <a href="html/libxml-tree.html#XMLSETNSPROP">xmlSetNsProp</a>
 <a href="html/libxml-tree.html#XMLUNSETNSPROP">xmlUnsetNsProp</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNODESETADDNS">xmlXPathNodeSetAddNs</a>
 <a href="html/libxml-xpathinternals.html#XMLXPATHNODESETFREENS">xmlXPathNodeSetFreeNs</a>
 </p>
@@ -1969,7 +1974,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATEELEMENT">xmlValidateElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
-<a href="">xmlValidateOneNamespace</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEDOCUMENTFINAL">xmlValidateDocumentFinal</a>
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLVALIDBUILDCONTENTMODEL">xmlValidBuildContentModel</a>
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index 3e7223a..9bef4ac 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -63,13 +63,18 @@
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
-<tr><td bgcolor="#fffacd"><ul>
+<tr><td bgcolor="#fffacd">
+<form action="search.php" enctype="application/x-www-form-urlencoded" method="GET">
+<input name="query" type="TEXT" size="20" value=""><input name="submit" type="submit" value="Search ...">
+</form>
+<ul>
 <li><a href="APIchunk0.html">Alphabetic</a></li>
 <li><a href="APIconstructors.html">Constructors</a></li>
 <li><a href="APIfunctions.html">Functions/Types</a></li>
 <li><a href="APIfiles.html">Modules</a></li>
 <li><a href="APIsymbols.html">Symbols</a></li>
-</ul></td></tr>
+</ul>
+</td></tr>
 </table>
 <table width="100%" border="0" cellspacing="1" cellpadding="3">
 <tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
@@ -113,6 +118,44 @@
 <a href="html/libxml-xmlmemory.html#DEBUG-MEMORY-CAPS">DEBUG_MEMORY</a>
 <a href="html/libxml-xmlversion.html#DEBUG-MEMORY-LOCATION-CAPS">DEBUG_MEMORY_LOCATION</a>
 </p>
+<h2>Letter E:</h2>
+<p>
+<a href="html/libxml-wsockcompat.html#EADDRINUSE-CAPS">EADDRINUSE</a>
+<a href="html/libxml-wsockcompat.html#EADDRNOTAVAIL-CAPS">EADDRNOTAVAIL</a>
+<a href="html/libxml-wsockcompat.html#EAFNOSUPPORT-CAPS">EAFNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EALREADY-CAPS">EALREADY</a>
+<a href="html/libxml-wsockcompat.html#ECONNABORTED-CAPS">ECONNABORTED</a>
+<a href="html/libxml-wsockcompat.html#ECONNREFUSED-CAPS">ECONNREFUSED</a>
+<a href="html/libxml-wsockcompat.html#ECONNRESET-CAPS">ECONNRESET</a>
+<a href="html/libxml-wsockcompat.html#EDESTADDRREQ-CAPS">EDESTADDRREQ</a>
+<a href="html/libxml-wsockcompat.html#EDQUOT-CAPS">EDQUOT</a>
+<a href="html/libxml-wsockcompat.html#EHOSTDOWN-CAPS">EHOSTDOWN</a>
+<a href="html/libxml-wsockcompat.html#EHOSTUNREACH-CAPS">EHOSTUNREACH</a>
+<a href="html/libxml-wsockcompat.html#EINPROGRESS-CAPS">EINPROGRESS</a>
+<a href="html/libxml-wsockcompat.html#EISCONN-CAPS">EISCONN</a>
+<a href="html/libxml-wsockcompat.html#ELOOP-CAPS">ELOOP</a>
+<a href="html/libxml-wsockcompat.html#EMSGSIZE-CAPS">EMSGSIZE</a>
+<a href="html/libxml-wsockcompat.html#ENETDOWN-CAPS">ENETDOWN</a>
+<a href="html/libxml-wsockcompat.html#ENETRESET-CAPS">ENETRESET</a>
+<a href="html/libxml-wsockcompat.html#ENETUNREACH-CAPS">ENETUNREACH</a>
+<a href="html/libxml-wsockcompat.html#ENOBUFS-CAPS">ENOBUFS</a>
+<a href="html/libxml-wsockcompat.html#ENOPROTOOPT-CAPS">ENOPROTOOPT</a>
+<a href="html/libxml-wsockcompat.html#ENOTCONN-CAPS">ENOTCONN</a>
+<a href="html/libxml-wsockcompat.html#ENOTSOCK-CAPS">ENOTSOCK</a>
+<a href="html/libxml-wsockcompat.html#EOPNOTSUPP-CAPS">EOPNOTSUPP</a>
+<a href="html/libxml-wsockcompat.html#EPFNOSUPPORT-CAPS">EPFNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EPROCLIM-CAPS">EPROCLIM</a>
+<a href="html/libxml-wsockcompat.html#EPROTONOSUPPORT-CAPS">EPROTONOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#EPROTOTYPE-CAPS">EPROTOTYPE</a>
+<a href="html/libxml-wsockcompat.html#EREMOTE-CAPS">EREMOTE</a>
+<a href="html/libxml-wsockcompat.html#ESHUTDOWN-CAPS">ESHUTDOWN</a>
+<a href="html/libxml-wsockcompat.html#ESOCKTNOSUPPORT-CAPS">ESOCKTNOSUPPORT</a>
+<a href="html/libxml-wsockcompat.html#ESTALE-CAPS">ESTALE</a>
+<a href="html/libxml-wsockcompat.html#ETIMEDOUT-CAPS">ETIMEDOUT</a>
+<a href="html/libxml-wsockcompat.html#ETOOMANYREFS-CAPS">ETOOMANYREFS</a>
+<a href="html/libxml-wsockcompat.html#EUSERS-CAPS">EUSERS</a>
+<a href="html/libxml-wsockcompat.html#EWOULDBLOCK-CAPS">EWOULDBLOCK</a>
+</p>
 <h2>Letter H:</h2>
 <p>
 <a href="html/libxml-htmltree.html#HTML-COMMENT-NODE-CAPS">HTML_COMMENT_NODE</a>
@@ -180,6 +223,7 @@
 <h2>Letter S:</h2>
 <p>
 <a href="html/libxml-parserinternals.html#SKIP-EOL-CAPS">SKIP_EOL</a>
+<a href="html/libxml-wsockcompat.html#SOCKLEN-T-CAPS">SOCKLEN_T</a>
 </p>
 <h2>Letter U:</h2>
 <p>
@@ -563,6 +607,7 @@
 <a href="html/libxml-encoding.html#XMLCHARENCODINGOUTPUTFUNC">xmlCharEncodingOutputFunc</a>
 <a href="html/libxml-parser.html#XMLCHARSTRDUP">xmlCharStrdup</a>
 <a href="html/libxml-parser.html#XMLCHARSTRNDUP">xmlCharStrndup</a>
+<a href="html/libxml-xmlio.html#XMLCHECKFILENAME">xmlCheckFilename</a>
 <a href="html/libxml-parserinternals.html#XMLCHECKLANGUAGEID">xmlCheckLanguageID</a>
 <a href="html/libxml-encoding.html#XMLCHECKUTF8">xmlCheckUTF8</a>
 <a href="html/libxml-xmlversion.html#XMLCHECKVERSION">xmlCheckVersion</a>
@@ -1433,6 +1478,7 @@
 <a href="html/libxml-valid.html#XMLVALIDATENOTATIONUSE">xmlValidateNotationUse</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEATTRIBUTE">xmlValidateOneAttribute</a>
 <a href="html/libxml-valid.html#XMLVALIDATEONEELEMENT">xmlValidateOneElement</a>
+<a href="html/libxml-valid.html#XMLVALIDATEONENAMESPACE">xmlValidateOneNamespace</a>
 <a href="html/libxml-valid.html#XMLVALIDATEROOT">xmlValidateRoot</a>
 <a href="html/libxml-valid.html#XMLVALIDITYERRORFUNC">xmlValidityErrorFunc</a>
 <a href="html/libxml-valid.html#XMLVALIDITYWARNINGFUNC">xmlValidityWarningFunc</a>
diff --git a/doc/FAQ.html b/doc/FAQ.html
index 403dde0..da93c88 100644
--- a/doc/FAQ.html
+++ b/doc/FAQ.html
@@ -197,8 +197,8 @@
       <li>iconv: a powerful character encoding conversion library. It is
         included by default in recent glibc libraries, so it doesn't need to
         be installed specifically on Linux. It now seems a <a href="http://www.opennc.org/onlinepubs/7908799/xsh/iconv.html">part
-        of the official UNIX</a> specification. Here is one <a href="http://www.gnu.org/software/libiconv/">implementation
-        of the library</a> which source can be found <a href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
+        of the official UNIX</a> specification. Here is one <a href="http://www.gnu.org/software/libiconv/">implementation of the
+        library</a> which source can be found <a href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
     </ul>
 </li>
   <li>
@@ -357,13 +357,12 @@
         else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
           </pre>
   </li>
-      <li>So what is this funky &quot;xmlChar&quot; used all the time?
-    <p>It is a null terminated sequence of utf-8 characters. And only utf-8! You
-    need to convert strings encoded in different ways to utf-8 before passing
-    them to the API.  This can be accomplished with the iconv library for
-    instance.</p>
+  <li>So what is this funky &quot;xmlChar&quot; used all the time?
+    <p>It is a null terminated sequence of utf-8 characters. And only utf-8!
+    You need to convert strings encoded in different ways to utf-8 before
+    passing them to the API.  This can be accomplished with the iconv library
+    for instance.</p>
   </li>
-
   <li>etc ...</li>
 </ol>
 <p>
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 127ef3a..fa53daf 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -18,7 +18,9 @@
     tree.html xmldtd.html XMLinfo.html XSLT.html
 APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
     APIsymbols.html APIchunk0.html
-EXTRA_DIST=xmlcatalog_man.xml
+EXTRA_DIST=xmlcatalog_man.xml tutorial/*.html tutorial/*.c tutorial/*.pdf \
+           tutorial/images/*.png tutorial/images/callouts/*.png \
+	   API*.html
 
 man_MANS = xmllint.1 xmlcatalog.1
 
@@ -48,7 +50,7 @@
 	-@(for s in sgml/*.sgml ; do name=`basename $$s .sgml` ; \
 	   echo '<!DOCTYPE refentry [ <!ENTITY nbsp   "&#x00A0;"> ]>' > \
 	       xml/"$$name".xml ;\
-	   grep -v "^<colspec" $$s >> xml/"$$name".xml ; done)
+	   grep -v "^<colspec" $$s | sed 's+<anchor(.*>+<anchor\1/>+' >> xml/"$$name".xml ; done)
 	   
 libxml2-api.xml libxml2-refs.xml: xml parsedecl.py libxml-decl.txt libxml-decl-list.txt
 	-(./parsedecl.py)
@@ -78,8 +80,9 @@
 	-@INSTALL@ -m 0644 $(srcdir)/html/*.html $(DESTDIR)$(TARGET_DIR)
 	-@INSTALL@ -m 0644 $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR)
 	-(cd $(DESTDIR); gtkdoc-fixxref --module=libxml --html-dir=$(HTML_DIR))
+	-@(tar cf - tutorial | (cd $(DESTDIR)$(TARGET_DIR) && tar xvf -)
 
 dist-hook:
-	(cd $(srcdir) ; tar cvf - *.1 site.xsl *.html *.gif w3c.png html/*.html html/*.sgml libxml2-api.xml parsedecl.py index.py search.php) | (cd $(distdir); tar xf -)
+	(cd $(srcdir) ; tar cvf - *.1 site.xsl *.html *.gif w3c.png html/*.html html/*.sgml libxml2-api.xml parsedecl.py index.py search.php tutorial/*.* tutorial/images/*.* tutorial/images/callouts/*.*) | (cd $(distdir); tar xf -)
 
 .PHONY : html sgml templates scan
diff --git a/doc/docs.html b/doc/docs.html
index fb4fd91..4661a6b 100644
--- a/doc/docs.html
+++ b/doc/docs.html
@@ -106,7 +106,8 @@
     internationalization support</a>.</li>
   <li>This page provides a global overview and <a href="example.html">some
     examples</a> on how to use libxml.</li>
-  <li>John Fleck's libxml tutorial: <a href="tutorial/index.html">html</a> or <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
+  <li>John Fleck's libxml tutorial: <a href="tutorial/index.html">html</a> or
+    <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
   <li>
 <a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">some nice
     documentation</a> explaining how to use the libxml SAX interface.</li>
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 9aaeb62..3c558fd 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -41,7 +41,6 @@
 <ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="libxml/libxml-parser.html#HASEXTERNALSUBSETSAXFUNC">
 <ANCHOR id ="XMLSAXHANDLER" href="libxml/libxml-parser.html#XMLSAXHANDLER">
 <ANCHOR id ="XMLEXTERNALENTITYLOADER" href="libxml/libxml-parser.html#XMLEXTERNALENTITYLOADER">
-<ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="libxml/libxml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE">
 <ANCHOR id ="XMLINITPARSER" href="libxml/libxml-parser.html#XMLINITPARSER">
 <ANCHOR id ="XMLCLEANUPPARSER" href="libxml/libxml-parser.html#XMLCLEANUPPARSER">
 <ANCHOR id ="XMLPARSERINPUTREAD" href="libxml/libxml-parser.html#XMLPARSERINPUTREAD">
@@ -79,6 +78,7 @@
 <ANCHOR id ="XMLSAXUSERPARSEFILE" href="libxml/libxml-parser.html#XMLSAXUSERPARSEFILE">
 <ANCHOR id ="XMLSAXUSERPARSEMEMORY" href="libxml/libxml-parser.html#XMLSAXUSERPARSEMEMORY">
 <ANCHOR id ="XMLSAXPARSEMEMORY" href="libxml/libxml-parser.html#XMLSAXPARSEMEMORY">
+<ANCHOR id ="XMLSAXPARSEMEMORYWITHDATA" href="libxml/libxml-parser.html#XMLSAXPARSEMEMORYWITHDATA">
 <ANCHOR id ="XMLSAXPARSEFILE" href="libxml/libxml-parser.html#XMLSAXPARSEFILE">
 <ANCHOR id ="XMLSAXPARSEFILEWITHDATA" href="libxml/libxml-parser.html#XMLSAXPARSEFILEWITHDATA">
 <ANCHOR id ="XMLSAXPARSEENTITY" href="libxml/libxml-parser.html#XMLSAXPARSEENTITY">
@@ -318,7 +318,6 @@
 <ANCHOR id ="XMLREMOVEPROP" href="libxml/libxml-tree.html#XMLREMOVEPROP">
 <ANCHOR id ="XMLUNSETPROP" href="libxml/libxml-tree.html#XMLUNSETPROP">
 <ANCHOR id ="XMLUNSETNSPROP" href="libxml/libxml-tree.html#XMLUNSETNSPROP">
-<ANCHOR id ="XMLBUFFERWRITEXMLCHAR" href="libxml/libxml-tree.html#XMLBUFFERWRITEXMLCHAR">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="libxml/libxml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="libxml/libxml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITEQUOTEDSTRING" href="libxml/libxml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
@@ -807,7 +806,6 @@
 <ANCHOR id ="XMLCLEANUPOUTPUTCALLBACKS" href="libxml/libxml-xmlio.html#XMLCLEANUPOUTPUTCALLBACKS">
 <ANCHOR id ="XMLREGISTERDEFAULTINPUTCALLBACKS" href="libxml/libxml-xmlio.html#XMLREGISTERDEFAULTINPUTCALLBACKS">
 <ANCHOR id ="XMLALLOCPARSERINPUTBUFFER" href="libxml/libxml-xmlio.html#XMLALLOCPARSERINPUTBUFFER">
-<ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFNAME" href="libxml/libxml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFNAME">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILENAME" href="libxml/libxml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="libxml/libxml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="libxml/libxml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD">
@@ -1030,7 +1028,6 @@
 <ANCHOR id ="XMLPARSEATTRIBUTETYPE" href="libxml/libxml-parserinternals.html#XMLPARSEATTRIBUTETYPE">
 <ANCHOR id ="XMLPARSEATTRIBUTELISTDECL" href="libxml/libxml-parserinternals.html#XMLPARSEATTRIBUTELISTDECL">
 <ANCHOR id ="XMLPARSEELEMENTMIXEDCONTENTDECL" href="libxml/libxml-parserinternals.html#XMLPARSEELEMENTMIXEDCONTENTDECL">
-<ANCHOR id ="XMLPARSEELEMENTCHILDRENCONTENTD" href="libxml/libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTD">
 <ANCHOR id ="XMLPARSEELEMENTCHILDRENCONTENTDECL" href="libxml/libxml-parserinternals.html#XMLPARSEELEMENTCHILDRENCONTENTDECL">
 <ANCHOR id ="XMLPARSEELEMENTCONTENTDECL" href="libxml/libxml-parserinternals.html#XMLPARSEELEMENTCONTENTDECL">
 <ANCHOR id ="XMLPARSEELEMENTDECL" href="libxml/libxml-parserinternals.html#XMLPARSEELEMENTDECL">
@@ -1106,6 +1103,7 @@
 <ANCHOR id ="XMLCHARENCCLOSEFUNC" href="libxml/libxml-encoding.html#XMLCHARENCCLOSEFUNC">
 <ANCHOR id ="UTF8TOISOLAT1" href="libxml/libxml-encoding.html#UTF8TOISOLAT1">
 <ANCHOR id ="ISOLAT1TOUTF8" href="libxml/libxml-encoding.html#ISOLAT1TOUTF8">
+<ANCHOR id ="XMLGETUTF8CHAR" href="libxml/libxml-encoding.html#XMLGETUTF8CHAR">
 <ANCHOR id ="XMLCHECKUTF8" href="libxml/libxml-encoding.html#XMLCHECKUTF8">
 <ANCHOR id ="XMLUTF8STRSIZE" href="libxml/libxml-encoding.html#XMLUTF8STRSIZE">
 <ANCHOR id ="XMLUTF8STRNDUP" href="libxml/libxml-encoding.html#XMLUTF8STRNDUP">
@@ -1184,6 +1182,10 @@
 <ANCHOR id ="XMLMEMDISPLAY" href="libxml/libxml-xmlmemory.html#XMLMEMDISPLAY">
 <ANCHOR id ="XMLMEMSHOW" href="libxml/libxml-xmlmemory.html#XMLMEMSHOW">
 <ANCHOR id ="XMLMEMORYDUMP" href="libxml/libxml-xmlmemory.html#XMLMEMORYDUMP">
+<ANCHOR id ="XMLMEMMALLOC" href="libxml/libxml-xmlmemory.html#XMLMEMMALLOC">
+<ANCHOR id ="XMLMEMREALLOC" href="libxml/libxml-xmlmemory.html#XMLMEMREALLOC">
+<ANCHOR id ="XMLMEMFREE" href="libxml/libxml-xmlmemory.html#XMLMEMFREE">
+<ANCHOR id ="XMLMEMORYSTRDUP" href="libxml/libxml-xmlmemory.html#XMLMEMORYSTRDUP">
 <ANCHOR id ="XMLMALLOC" href="libxml/libxml-xmlmemory.html#XMLMALLOC">
 <ANCHOR id ="XMLREALLOC" href="libxml/libxml-xmlmemory.html#XMLREALLOC">
 <ANCHOR id ="XMLMEMSTRDUP" href="libxml/libxml-xmlmemory.html#XMLMEMSTRDUP">
diff --git a/doc/news.html b/doc/news.html
index 94470b6..b13b007 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -102,6 +102,21 @@
     Schemas</a> and <a href="http://www.w3.org/TR/xinclude">XInclude</a>
 </li>
 </ul>
+<h3>2.4.27: Nov 17 2002</h3>
+<ul>
+<li>fixes for the Python bindings</li>
+  <li>a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
+    HTML parser,  Schemas (Charles Bozeman), document fragment support
+    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
+    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
+    Pajas), entities processing</li>
+  <li>added grep to xmllint --shell</li>
+  <li>VMS update patch from Craig A. Berry</li>
+  <li>cleanup of the Windows build with support for more compilers (Igor),
+    better thread support on Windows</li>
+  <li>cleanup of Unix Makefiles and spec file</li>
+  <li>Improvements to the documentation (John Fleck)</li>
+</ul>
 <h3>2.4.26: Oct 18 2002</h3>
 <ul>
 <li>Patches for Windows CE port, improvements on Windows paths handling</li>
diff --git a/doc/xml.html b/doc/xml.html
index afb75ea..44a022f 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -250,8 +250,8 @@
         be installed specifically on Linux. It now seems a <a
         href="http://www.opennc.org/onlinepubs/7908799/xsh/iconv.html">part
         of the official UNIX</a> specification. Here is one <a
-        href="http://www.gnu.org/software/libiconv/">implementation
-        of the library</a> which source can be found <a
+        href="http://www.gnu.org/software/libiconv/">implementation of the
+        library</a> which source can be found <a
         href="ftp://ftp.ilog.fr/pub/Users/haible/gnu/">here</a>.</li>
     </ul>
   </li>
@@ -407,13 +407,12 @@
         else xmlAddPrevSibling(doc-&gt;children, (xmlNodePtr)dtd);
           </pre>
   </li>
-      <li>So what is this funky "xmlChar" used all the time?
-    <p>It is a null terminated sequence of utf-8 characters. And only utf-8! You
-    need to convert strings encoded in different ways to utf-8 before passing
-    them to the API.  This can be accomplished with the iconv library for
-    instance.</p>
+  <li>So what is this funky "xmlChar" used all the time?
+    <p>It is a null terminated sequence of utf-8 characters. And only utf-8!
+    You need to convert strings encoded in different ways to utf-8 before
+    passing them to the API.  This can be accomplished with the iconv library
+    for instance.</p>
   </li>
-
   <li>etc ...</li>
 </ol>
 
@@ -434,7 +433,8 @@
     internationalization support</a>.</li>
   <li>This page provides a global overview and <a href="example.html">some
     examples</a> on how to use libxml.</li>
-  <li>John Fleck's libxml tutorial: <a href="tutorial/index.html">html</a> or <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
+  <li>John Fleck's libxml tutorial: <a href="tutorial/index.html">html</a> or
+    <a href="tutorial/xmltutorial.pdf">pdf</a>.</li>
   <li><a href="mailto:james@daa.com.au">James Henstridge</a> wrote <a
     href="http://www.daa.com.au/~james/gnome/xml-sax/xml-sax.html">some nice
     documentation</a> explaining how to use the libxml SAX interface.</li>
@@ -589,6 +589,22 @@
     Schemas</a> and <a href="http://www.w3.org/TR/xinclude">XInclude</a></li>
 </ul>
 
+<h3>2.4.27: Nov 17 2002</h3>
+<ul>
+  <li>fixes for the Python bindings</li>
+  <li>a number of bug fixes: SGML catalogs, xmlParseBalancedChunkMemory(),
+    HTML parser,  Schemas (Charles Bozeman), document fragment support
+    (Christian Glahn), xmlReconciliateNs (Brian Stafford), XPointer,
+    xmlFreeNode(), xmlSAXParseMemory (Peter Jones), xmlGetNodePath (Petr
+    Pajas), entities processing</li>
+  <li>added grep to xmllint --shell</li>
+  <li>VMS update patch from Craig A. Berry</li>
+  <li>cleanup of the Windows build with support for more compilers (Igor),
+    better thread support on Windows</li>
+  <li>cleanup of Unix Makefiles and spec file</li>
+  <li>Improvements to the documentation (John Fleck)</li>
+</ul>
+
 <h3>2.4.26: Oct 18 2002</h3>
 <ul>
   <li>Patches for Windows CE port, improvements on Windows paths handling</li>
@@ -2708,6 +2724,7 @@
 
 
 
+
 } </pre>
   </li>
   <li>And then use it to save the document:
diff --git a/doc/xmlio.html b/doc/xmlio.html
index eca8e82..64faab0 100644
--- a/doc/xmlio.html
+++ b/doc/xmlio.html
@@ -249,6 +249,7 @@
 
 
 
+
 } </pre>
   </li>
   <li>And then use it to save the document:
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index a474074..e6725a3 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -219,6 +219,7 @@
     int                loadsubset;    /* should the external subset be loaded */
     int                linenumbers;   /* set line number in element content */
     void              *catalogs;       /* document's own catalog */
+    int                recovery;      /* run in recovery mode */
 };
 
 /**
diff --git a/libxml.spec.in b/libxml.spec.in
index 35e0c6c..67f5395 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -115,6 +115,7 @@
 %doc %{_mandir}/man1/xml2-config.1*
 %doc AUTHORS ChangeLog NEWS README Copyright TODO
 %doc doc/*.html doc/html doc/*.gif doc/*.png
+%doc doc/tutorial
 
 %{_libdir}/lib*.so
 %{_libdir}/*a
diff --git a/parser.c b/parser.c
index ca56c1d..3b62431 100644
--- a/parser.c
+++ b/parser.c
@@ -486,7 +486,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		         "xmlParseCharRef: invalid hexadecimal value\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		val = 0;
 		break;
 	    }
@@ -514,7 +514,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		         "xmlParseCharRef: invalid decimal value\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		val = 0;
 		break;
 	    }
@@ -532,7 +532,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	       "xmlParseCharRef: invalid value\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     /*
@@ -549,7 +549,7 @@
                              "xmlParseCharRef: invalid xmlChar value %d\n",
 	                     val);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     return(0);
 }
@@ -597,7 +597,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		         "xmlParseStringCharRef: invalid hexadecimal value\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		val = 0;
 		break;
 	    }
@@ -618,7 +618,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		         "xmlParseStringCharRef: invalid decimal value\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		val = 0;
 		break;
 	    }
@@ -633,7 +633,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	       "xmlParseStringCharRef: invalid value\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(0);
     }
     *str = ptr;
@@ -651,7 +651,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		             "xmlParseStringCharRef: invalid xmlChar value %d\n", val);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     return(0);
 }
@@ -761,7 +761,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	        ctxt->sax->error(ctxt->userData, "PEReference at EOF\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
         case XML_PARSER_PROLOG:
 	case XML_PARSER_START:
@@ -770,7 +770,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	        ctxt->sax->error(ctxt->userData, "PEReference in prolog!\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	case XML_PARSER_ENTITY_DECL:
         case XML_PARSER_CONTENT:
@@ -785,7 +785,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	        ctxt->sax->error(ctxt->userData, "PEReference in epilog!\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	case XML_PARSER_ENTITY_VALUE:
 	    /*
@@ -823,7 +823,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "xmlParserHandlePEReference: no name\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else {
 	if (RAW == ';') {
 	    NEXT;
@@ -846,7 +846,7 @@
 			ctxt->sax->error(ctxt->userData,
 			 "PEReference: %%%s; not found\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	        } else {
 		    /*
 		     * [ VC: Entity Declared ]
@@ -911,7 +911,7 @@
 			 "xmlParserHandlePEReference: %s is not a parameter entity\n",
 			                 name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 	    }
 	} else {
@@ -920,7 +920,7 @@
 		ctxt->sax->error(ctxt->userData,
 				 "xmlParserHandlePEReference: expecting ';'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	xmlFree(name);
     }
@@ -977,7 +977,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"Detected entity reference loop\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
 
@@ -2134,7 +2134,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "EntityValue: \" or ' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
@@ -2210,7 +2210,7 @@
 	    "EntityValue: '%c' forbidden except for entities references\n",
 	                             tmp);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    if ((tmp == '%') && (ctxt->inSubset == 1) &&
 		(ctxt->inputNr == 1)) {
@@ -2220,7 +2220,7 @@
 	    "EntityValue: PEReferences forbidden in internal subset\n",
 	                             tmp);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    if (name != NULL)
 		xmlFree(name);
@@ -2236,7 +2236,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "EntityValue: \" expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	xmlFree(buf);
     } else {
 	NEXT;
@@ -2306,7 +2306,7 @@
       if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
           ctxt->sax->error(ctxt->userData, "AttValue: \" or ' expected\n");
       ctxt->wellFormed = 0;
-      ctxt->disableSAX = 1;
+      if (ctxt->recovery == 0) ctxt->disableSAX = 1;
       return(NULL);
     } 
     ctxt->instate = XML_PARSER_ATTRIBUTE_VALUE;
@@ -2352,7 +2352,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "AttValue: \" or ' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     
@@ -2483,13 +2483,13 @@
 	    ctxt->sax->error(ctxt->userData,
 	       "Unescaped '<' not allowed in attributes values\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != limit) {
 	ctxt->errNo = XML_ERR_ATTRIBUTE_NOT_FINISHED;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "AttValue: ' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else
 	NEXT;
     return(buf);
@@ -2529,7 +2529,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "SystemLiteral \" or ' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     
@@ -2573,7 +2573,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else {
 	NEXT;
     }
@@ -2614,7 +2614,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "SystemLiteral \" or ' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     buf = (xmlChar *) xmlMalloc(size * sizeof(xmlChar));
@@ -2655,7 +2655,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Unfinished PubidLiteral\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else {
 	NEXT;
     }
@@ -2717,7 +2717,7 @@
 			   "Sequence ']]>' not allowed in content\n");
 		    ctxt->input->cur = in;
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    return;
 		}
 		in++;
@@ -2798,7 +2798,7 @@
 		       "Sequence ']]>' not allowed in content\n");
 		/* Should this be relaxed ??? I see a "must here */
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	}
 	COPY_BUF(l,buf,nbchar,cur);
@@ -2881,7 +2881,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Space required after 'SYSTEM'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         SKIP_BLANKS;
 	URI = xmlParseSystemLiteral(ctxt);
@@ -2891,7 +2891,7 @@
 	        ctxt->sax->error(ctxt->userData,
 	          "xmlParseExternalID: SYSTEM, no URI\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         }
     } else if ((RAW == 'P') && (NXT(1) == 'U') &&
 	       (NXT(2) == 'B') && (NXT(3) == 'L') &&
@@ -2903,7 +2903,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Space required after 'PUBLIC'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         SKIP_BLANKS;
 	*publicID = xmlParsePubidLiteral(ctxt);
@@ -2913,7 +2913,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 	          "xmlParseExternalID: PUBLIC, no Public Identifier\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	if (strict) {
 	    /*
@@ -2925,7 +2925,7 @@
 		    ctxt->sax->error(ctxt->userData,
 			"Space required after the Public Identifier\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	} else {
 	    /*
@@ -2950,7 +2950,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 	           "xmlParseExternalID: PUBLIC, no URI\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         }
     }
     return(URI);
@@ -3010,7 +3010,7 @@
 	        ctxt->sax->error(ctxt->userData,
 	       "Comment must not contain '--' (double-hyphen)`\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	if (len + 5 >= size) {
 	    size *= 2;
@@ -3048,7 +3048,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "Comment not terminated \n<!--%.50s\n", buf);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	xmlFree(buf);
     } else {
 	if (input != ctxt->input) {
@@ -3057,7 +3057,7 @@
 		ctxt->sax->error(ctxt->userData, 
 "Comment doesn't start and stop in the same entity\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         NEXT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
@@ -3096,14 +3096,14 @@
 		ctxt->sax->error(ctxt->userData,
 		 "XML declaration allowed only at the start of the document\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(name);
 	} else if (name[3] == 0) {
 	    ctxt->errNo = XML_ERR_RESERVED_XML_NAME;
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		ctxt->sax->error(ctxt->userData, "Invalid PI name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(name);
 	}
 	for (i = 0;;i++) {
@@ -3227,7 +3227,7 @@
 			ctxt->sax->error(ctxt->userData, 
     "PI declaration doesn't start and stop in the same entity\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP(2);
 
@@ -3256,7 +3256,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		      "xmlParsePI: PI %s space expected\n", target);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
             SKIP_BLANKS;
 	    cur = CUR_CHAR(l);
@@ -3293,7 +3293,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		      "xmlParsePI: PI %s never end ...\n", target);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else {
 		if (input != ctxt->input) {
 		    ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
@@ -3301,7 +3301,7 @@
 			ctxt->sax->error(ctxt->userData, 
     "PI declaration doesn't start and stop in the same entity\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP(2);
 
@@ -3333,7 +3333,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		       "xmlParsePI : no target name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	ctxt->instate = state;
     }
@@ -3375,7 +3375,7 @@
 		ctxt->sax->error(ctxt->userData,
 		                 "Space required after '<!NOTATION'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	}
 	SKIP_BLANKS;
@@ -3387,7 +3387,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "NOTATION: Name expected here\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	}
 	if (!IS_BLANK(CUR)) {
@@ -3396,7 +3396,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		     "Space required after the NOTATION name'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	}
 	SKIP_BLANKS;
@@ -3414,7 +3414,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 "Notation declaration doesn't start and stop in the same entity\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    NEXT;
 	    if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
@@ -3426,7 +3426,7 @@
 		ctxt->sax->error(ctxt->userData,
 		       "'>' required to close NOTATION declaration\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	xmlFree(name);
 	if (Systemid != NULL) xmlFree(Systemid);
@@ -3481,7 +3481,7 @@
 		ctxt->sax->error(ctxt->userData,
 		                 "Space required after '<!ENTITY'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 
 	if (RAW == '%') {
@@ -3493,7 +3493,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "Space required after '%'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    isParameter = 1;
 	}
@@ -3504,7 +3504,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	        ctxt->sax->error(ctxt->userData, "xmlParseEntityDecl: no name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             return;
 	}
         skipped = SKIP_BLANKS;
@@ -3514,7 +3514,7 @@
 		ctxt->sax->error(ctxt->userData,
 		     "Space required after the entity name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 
 	ctxt->instate = XML_PARSER_ENTITY_DECL;
@@ -3539,7 +3539,7 @@
 			ctxt->sax->error(ctxt->userData,
 			    "Entity value required\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		if (URI) {
 		    xmlURIPtr uri;
@@ -3613,7 +3613,7 @@
 			ctxt->sax->error(ctxt->userData,
 			    "Entity value required\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		if (URI) {
 		    xmlURIPtr uri;
@@ -3654,7 +3654,7 @@
 			ctxt->sax->error(ctxt->userData,
 			    "Space required before 'NDATA'\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		SKIP_BLANKS;
 		if ((RAW == 'N') && (NXT(1) == 'D') &&
@@ -3667,7 +3667,7 @@
 			    ctxt->sax->error(ctxt->userData,
 			        "Space required after 'NDATA'\n");
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    }
 		    SKIP_BLANKS;
 		    ndata = xmlParseName(ctxt);
@@ -3709,7 +3709,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 	            "xmlParseEntityDecl: entity %s not terminated\n", name);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    if (input != ctxt->input) {
 		ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
@@ -3717,7 +3717,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 "Entity declaration doesn't start and stop in the same entity\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    NEXT;
 	}
@@ -3817,7 +3817,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "Space required after '#FIXED'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	SKIP_BLANKS;
     }
@@ -3828,7 +3828,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	       "Attribute default value declaration error\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else
         *value = ret;
     return(val);
@@ -3862,7 +3862,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "'(' required to start 'NOTATION'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     SHRINK;
@@ -3876,7 +3876,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		                 "Name expected in NOTATION declaration\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(ret);
 	}
 	cur = xmlCreateEnumeration(name);
@@ -3895,7 +3895,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "')' required to finish NOTATION declaration\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	if ((last != NULL) && (last != ret))
 	    xmlFreeEnumeration(last);
 	return(ret);
@@ -3930,7 +3930,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "'(' required to start ATTLIST enumeration\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(NULL);
     }
     SHRINK;
@@ -3944,7 +3944,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		                 "NmToken expected in ATTLIST enumeration\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(ret);
 	}
 	cur = xmlCreateEnumeration(name);
@@ -3963,7 +3963,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "')' required to finish ATTLIST enumeration\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(ret);
     }
     NEXT;
@@ -3998,7 +3998,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "Space required after 'NOTATION'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(0);
 	}
         SKIP_BLANKS;
@@ -4135,7 +4135,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "Space required after '<!ATTLIST'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         SKIP_BLANKS;
         elemName = xmlParseName(ctxt);
@@ -4145,7 +4145,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "ATTLIST: no name for Element\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return;
 	}
 	SKIP_BLANKS;
@@ -4165,7 +4165,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "ATTLIST: no name for Attribute\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		break;
 	    }
 	    GROW;
@@ -4175,7 +4175,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		        "Space required after the attribute name\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                 if (attrName != NULL)
 		    xmlFree(attrName);
                 if (defaultValue != NULL)
@@ -4200,7 +4200,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		        "Space required after the attribute type\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
                 if (attrName != NULL)
 		    xmlFree(attrName);
                 if (defaultValue != NULL)
@@ -4230,7 +4230,7 @@
 			ctxt->sax->error(ctxt->userData, 
 			"Space required after the attribute default value\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    if (attrName != NULL)
 			xmlFree(attrName);
 		    if (defaultValue != NULL)
@@ -4271,7 +4271,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 "Attribute list declaration doesn't start and stop in the same entity\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    NEXT;
 	}
@@ -4360,7 +4360,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 			"xmlParseElementMixedContentDecl : Name expected\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		xmlFreeElementContent(cur);
 		return(NULL);
 	    }
@@ -4392,7 +4392,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		    "xmlParseElementMixedContentDecl : '|' or ')*' expected\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(NULL);
 	}
 
@@ -4402,7 +4402,7 @@
 	    ctxt->sax->error(ctxt->userData, 
 		"xmlParseElementMixedContentDecl : '#PCDATA' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     return(ret);
 }
@@ -4463,7 +4463,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		"xmlParseElementChildrenContentDecl : Name or '(' expected\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(NULL);
 	}
         cur = ret = xmlNewElementContent(elem, XML_ELEMENT_CONTENT_ELEMENT);
@@ -4502,7 +4502,7 @@
 		    "xmlParseElementChildrenContentDecl : '%c' expected\n",
 		    type);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		if ((last != NULL) && (last != ret))
 		    xmlFreeElementContent(last);
 		if (ret != NULL)
@@ -4546,7 +4546,7 @@
 		    "xmlParseElementChildrenContentDecl : '%c' expected\n",
 		    type);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		if ((last != NULL) && (last != ret))
 		    xmlFreeElementContent(last);
 		if (ret != NULL)
@@ -4584,7 +4584,7 @@
 		ctxt->sax->error(ctxt->userData, 
 	    "xmlParseElementChildrenContentDecl : ',' '|' or ')' expected\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    if (ret != NULL)
 		xmlFreeElementContent(ret);
 	    return(NULL);
@@ -4607,7 +4607,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		"xmlParseElementChildrenContentDecl : Name or '(' expected\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		if (ret != NULL)
 		    xmlFreeElementContent(ret);
 		return(NULL);
@@ -4731,7 +4731,7 @@
 	    ctxt->sax->error(ctxt->userData, 
 		"xmlParseElementContentDecl : %s '(' expected\n", name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return(-1);
     }
     NEXT;
@@ -4786,7 +4786,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		    "Space required after 'ELEMENT'\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         SKIP_BLANKS;
         name = xmlParseName(ctxt);
@@ -4796,7 +4796,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		   "xmlParseElementDecl: no name for Element\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(-1);
 	}
 	while ((RAW == 0) && (ctxt->inputNr > 1))
@@ -4807,7 +4807,7 @@
 		ctxt->sax->error(ctxt->userData, 
 		    "Space required after the element name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
         SKIP_BLANKS;
 	if ((RAW == 'E') && (NXT(1) == 'M') &&
@@ -4844,7 +4844,7 @@
 		      "xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected\n");
             }
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    if (name != NULL) xmlFree(name);
 	    return(-1);
 	}
@@ -4863,7 +4863,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 	          "xmlParseElementDecl: expected '>' at the end\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    if (input != ctxt->input) {
 		ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
@@ -4871,7 +4871,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 "Element declaration doesn't start and stop in the same entity\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 		
 	    NEXT;
@@ -4916,7 +4916,7 @@
 		ctxt->sax->error(ctxt->userData,
 	    "XML conditional section '[' expected\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    NEXT;
 	}
@@ -4955,7 +4955,7 @@
 		    ctxt->sax->error(ctxt->userData,
 			"Content error in the external subset\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		break;
 	    }
 	}
@@ -4982,7 +4982,7 @@
 		ctxt->sax->error(ctxt->userData,
 	    "XML conditional section '[' expected\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    NEXT;
 	}
@@ -5001,7 +5001,7 @@
 	 */
 	state = ctxt->disableSAX;
 	instate = ctxt->instate;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->instate = XML_PARSER_IGNORE;
 
 	while ((depth >= 0) && (RAW != 0)) {
@@ -5036,7 +5036,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	"XML conditional section INCLUDE or IGNORE keyword expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (RAW == 0)
@@ -5048,7 +5048,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	        "XML conditional section not closed\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else {
         SKIP(3);
     }
@@ -5133,7 +5133,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "Text declaration '<?xml' required\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 
 	return;
     }
@@ -5144,7 +5144,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "Space needed after '<?xml'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     SKIP_BLANKS;
 
@@ -5160,7 +5160,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		ctxt->sax->error(ctxt->userData, "Space needed here\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
     }
     ctxt->input->version = version;
@@ -5186,7 +5186,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "XML declaration must end-up with '?>'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	NEXT;
     } else {
 	ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
@@ -5194,7 +5194,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "parsing XML declaration: '?>' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	MOVETO_ENDTAG(CUR_PTR);
 	NEXT;
     }
@@ -5264,7 +5264,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Content error in the external subset\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    break;
 	}
     }
@@ -5275,7 +5275,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	        "Extra content at the end of the document\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
 }
@@ -5437,7 +5437,7 @@
 			    ctxt->sax->error(ctxt->userData,
 				"Detected entity reference loop\n");
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			return;
 		    } else if ((ret == 0) && (list != NULL)) {
 			if (((ent->etype == XML_INTERNAL_GENERAL_ENTITY) ||
@@ -5483,7 +5483,7 @@
 			    ctxt->sax->error(ctxt->userData,
 				"Entity value required\n");
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    } else if (list != NULL) {
 			xmlFreeNodeList(list);
 			list = NULL;
@@ -5566,7 +5566,7 @@
 				ctxt->sax->error(ctxt->userData,
 				"external parsed entities cannot be standalone\n");
 			    ctxt->wellFormed = 0;
-			    ctxt->disableSAX = 1;
+			    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			}
 		    }
 		    return;
@@ -5629,7 +5629,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParseEntityRef: no name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    if (RAW == ';') {
 	        NEXT;
@@ -5677,7 +5677,7 @@
 				 "Entity '%s' not defined\n", name);
 			ctxt->wellFormed = 0;
 			ctxt->valid = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    } else {
 			ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
 			if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
@@ -5698,7 +5698,7 @@
 			ctxt->sax->error(ctxt->userData, 
 			     "Entity reference to unparsed entity %s\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 
 		/*
@@ -5713,7 +5713,7 @@
 			ctxt->sax->error(ctxt->userData, 
 		     "Attribute references external entity '%s'\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		/*
 		 * [ WFC: No < in Attribute Values ]
@@ -5731,7 +5731,7 @@
 			ctxt->sax->error(ctxt->userData, 
 	 "'<' in entity '%s' is not allowed in attributes values\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 
 		/*
@@ -5746,7 +5746,7 @@
 			    ctxt->sax->error(ctxt->userData, 
 		     "Attempt to reference the parameter entity '%s'\n", name);
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			break;
 			default:
 			break;
@@ -5766,7 +5766,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "xmlParseEntityRef: expecting ';'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    xmlFree(name);
 	}
@@ -5826,7 +5826,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParseStringEntityRef: no name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    if (*ptr == ';') {
 	        ptr++;
@@ -5873,7 +5873,7 @@
 			    ctxt->sax->error(ctxt->userData, 
 				 "Entity '%s' not defined\n", name);
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    } else {
 			ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
 			if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
@@ -5893,7 +5893,7 @@
 			ctxt->sax->error(ctxt->userData, 
 			     "Entity reference to unparsed entity %s\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 
 		/*
@@ -5908,7 +5908,7 @@
 			ctxt->sax->error(ctxt->userData, 
 		     "Attribute references external entity '%s'\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 		/*
 		 * [ WFC: No < in Attribute Values ]
@@ -5926,7 +5926,7 @@
 			ctxt->sax->error(ctxt->userData, 
 	 "'<' in entity '%s' is not allowed in attributes values\n", name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		}
 
 		/*
@@ -5941,7 +5941,7 @@
 			    ctxt->sax->error(ctxt->userData, 
 		     "Attempt to reference the parameter entity '%s'\n", name);
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			break;
 			default:
 			break;
@@ -5961,7 +5961,7 @@
 		    ctxt->sax->error(ctxt->userData,
 				 "xmlParseStringEntityRef: expecting ';'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    xmlFree(name);
 	}
@@ -6014,7 +6014,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParsePEReference: no name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    if (RAW == ';') {
 	        NEXT;
@@ -6040,7 +6040,7 @@
 			    ctxt->sax->error(ctxt->userData,
 			     "PEReference: %%%s; not found\n", name);
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    } else {
 			/*
 			 * [ VC: Entity Declared ]
@@ -6099,7 +6099,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "xmlParsePEReference: expecting ';'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    xmlFree(name);
 	}
@@ -6157,7 +6157,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParseStringPEReference: no name\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} else {
 	    cur = *ptr;
 	    if (cur == ';') {
@@ -6184,7 +6184,7 @@
 			    ctxt->sax->error(ctxt->userData,
 			     "PEReference: %%%s; not found\n", name);
 			ctxt->wellFormed = 0;
-			ctxt->disableSAX = 1;
+			if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    } else {
 			/*
 			 * [ VC: Entity Declared ]
@@ -6216,7 +6216,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "xmlParseStringPEReference: expecting ';'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    xmlFree(name);
 	}
@@ -6262,7 +6262,7 @@
 	    ctxt->sax->error(ctxt->userData, 
 	        "xmlParseDocTypeDecl : no DOCTYPE name !\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     ctxt->intSubName = name;
 
@@ -6303,7 +6303,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "DOCTYPE improperly terminated\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     NEXT;
 }
@@ -6350,7 +6350,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 	     "xmlParseInternalSubset: error detected in Markup declaration\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		break;
 	    }
 	}
@@ -6368,7 +6368,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "DOCTYPE improperly terminated\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     NEXT;
 }
@@ -6418,7 +6418,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "error parsing attribute name\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         return(NULL);
     }
 
@@ -6437,7 +6437,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	       "Specification mandate value for attribute %s\n", name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	xmlFree(name);
 	return(NULL);
     }
@@ -6470,7 +6470,7 @@
 "Invalid value for xml:space : \"%s\", \"default\" or \"preserve\" expected\n",
                                  val);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
     }
 
@@ -6526,7 +6526,7 @@
 	    ctxt->sax->error(ctxt->userData, 
 	     "xmlParseStartTag: invalid element name\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         return(NULL);
     }
 
@@ -6559,7 +6559,7 @@
 			        "Attribute %s redefined\n",
 			                 attname);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    xmlFree(attname);
 		    xmlFree(attvalue);
 		    goto failed;
@@ -6610,7 +6610,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "attributes construct error\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	SKIP_BLANKS;
         if ((cons == ctxt->input->consumed) && (q == CUR_PTR)) {
@@ -6619,7 +6619,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 	         "xmlParseStartTag: problem parsing attributes\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    break;
 	}
         GROW;
@@ -6663,7 +6663,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "xmlParseEndTag: '</' not found\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	return;
     }
     SKIP(2);
@@ -6680,7 +6680,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "End tag : expected '>'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else
 	NEXT1;
 
@@ -6697,7 +6697,6 @@
 		ctxt->sax->error(ctxt->userData,
 		     "Opening and ending tag mismatch: %s and %s\n",
 		                 ctxt->name, name);
-		xmlFree(name);		 
             } else {
 		ctxt->sax->error(ctxt->userData,
 		     "Ending tag error for: %s\n", ctxt->name);
@@ -6705,7 +6704,21 @@
 
 	}     
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
+#if 0
+	else {
+	    /*
+	     * Recover in case of one missing close
+	     */
+	    if ((ctxt->nameNr > 2) && 
+		(xmlStrEqual(ctxt->nameTab[ctxt->nameNr -2], name))) {
+		namePop(ctxt);
+		spacePop(ctxt);
+	    }
+	}
+#endif
+	if (name != NULL)
+	    xmlFree(name);		 
     }
 
     /*
@@ -6767,7 +6780,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "CData section not finished\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->instate = XML_PARSER_CONTENT;
         return;
     }
@@ -6779,7 +6792,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "CData section not finished\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->instate = XML_PARSER_CONTENT;
         return;
     }
@@ -6823,7 +6836,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "CData section not finished\n%.50s\n", buf);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	xmlFree(buf);
         return;
     }
@@ -6923,7 +6936,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		     "detected an error in element content\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    ctxt->instate = XML_PARSER_EOF;
             break;
 	}
@@ -7026,7 +7039,7 @@
 	                     "Couldn't find end of Start Tag %s\n",
 	                     name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 
 	/*
 	 * end of parsing of this node.
@@ -7064,7 +7077,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	         "Premature end of data in tag %s\n", name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 
 	/*
 	 * end of parsing of this node.
@@ -7174,7 +7187,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParseVersionInfo : expected '='\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(NULL);
         }
 	NEXT;
@@ -7189,7 +7202,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		                     "String not closed\n%.50s\n", q);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else if (RAW == '\''){
@@ -7202,7 +7215,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "String not closed\n%.50s\n", q);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else {
@@ -7211,7 +7224,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		      "xmlParseVersionInfo : expected ' or \"\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
     }
     return(version);
@@ -7276,7 +7289,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Invalid XML encoding name\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     return(buf);
 }
@@ -7312,7 +7325,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "xmlParseEncodingDecl : expected '='\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(NULL);
         }
 	NEXT;
@@ -7327,7 +7340,7 @@
 		    ctxt->sax->error(ctxt->userData, 
 		                     "String not closed\n%.50s\n", q);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else if (RAW == '\''){
@@ -7340,7 +7353,7 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "String not closed\n%.50s\n", q);
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else {
@@ -7349,7 +7362,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		     "xmlParseEncodingDecl : expected ' or \"\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	if (encoding != NULL) {
 	    xmlCharEncoding enc;
@@ -7434,7 +7447,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		    "XML standalone declaration : expected '='\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    return(standalone);
         }
 	NEXT;
@@ -7454,14 +7467,14 @@
 		    ctxt->sax->error(ctxt->userData,
 		                     "standalone accepts only 'yes' or 'no'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    if (RAW != '\'') {
 		ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
 		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		    ctxt->sax->error(ctxt->userData, "String not closed\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else if (RAW == '"'){
@@ -7479,14 +7492,14 @@
 		    ctxt->sax->error(ctxt->userData,
 		        "standalone accepts only 'yes' or 'no'\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }
 	    if (RAW != '"') {
 		ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
 		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		    ctxt->sax->error(ctxt->userData, "String not closed\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    } else
 	        NEXT;
 	} else {
@@ -7495,7 +7508,7 @@
 	        ctxt->sax->error(ctxt->userData,
 		                 "Standalone value not found\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         }
     }
     return(standalone);
@@ -7524,7 +7537,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Blank needed after '<?xml'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     SKIP_BLANKS;
 
@@ -7537,7 +7550,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	    "Malformed declaration expecting version\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else {
 	if (!xmlStrEqual(version, (const xmlChar *) XML_DEFAULT_VERSION)) {
 	    /*
@@ -7564,7 +7577,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Blank needed here\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     xmlParseEncodingDecl(ctxt);
     if (ctxt->errNo == XML_ERR_UNSUPPORTED_ENCODING) {
@@ -7586,7 +7599,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Blank needed here\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     SKIP_BLANKS;
     ctxt->input->standalone = xmlParseSDDecl(ctxt);
@@ -7601,7 +7614,7 @@
 	    ctxt->sax->error(ctxt->userData, 
 	                     "XML declaration must end-up with '?>'\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	NEXT;
     } else {
 	ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
@@ -7609,7 +7622,7 @@
 	    ctxt->sax->error(ctxt->userData,
 	                     "parsing XML declaration: '?>' expected\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	MOVETO_ENDTAG(CUR_PTR);
 	NEXT;
     }
@@ -7691,7 +7704,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Document is empty\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     /*
@@ -7769,7 +7782,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		    "Start tag expected, '<' not found\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->instate = XML_PARSER_EOF;
     } else {
 	ctxt->instate = XML_PARSER_CONTENT;
@@ -7788,7 +7801,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Extra content at the end of the document\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	}
 	ctxt->instate = XML_PARSER_EOF;
     }
@@ -7864,7 +7877,7 @@
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData, "Document is empty\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     /*
@@ -7908,14 +7921,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     /*
@@ -8161,7 +8174,7 @@
 		    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 			ctxt->sax->error(ctxt->userData, "Document is empty\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    ctxt->instate = XML_PARSER_EOF;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
@@ -8404,7 +8417,7 @@
 			ctxt->sax->error(ctxt->userData,
 			    "Extra content at the end of the document\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    ctxt->instate = XML_PARSER_EOF;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
@@ -8427,7 +8440,7 @@
 			ctxt->sax->error(ctxt->userData,
 				"Start tag expect, '<' not found\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    ctxt->instate = XML_PARSER_EOF;
 #ifdef DEBUG_PUSH
 		    xmlGenericError(xmlGenericErrorContext,
@@ -8508,7 +8521,7 @@
 					 "Couldn't find end of Start Tag %s\n",
 					 name);
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 
 		    /*
 		     * end of parsing of this node.
@@ -8636,7 +8649,7 @@
 			ctxt->sax->error(ctxt->userData,
 			     "detected an error in element content\n");
 		    ctxt->wellFormed = 0;
-		    ctxt->disableSAX = 1;
+		    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		    ctxt->instate = XML_PARSER_EOF;
 		    break;
 		}
@@ -8918,7 +8931,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Extra content at the end of the document\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	} 
 	if ((ctxt->instate == XML_PARSER_EPILOG) && (avail > 0)) {
 	    ctxt->errNo = XML_ERR_DOCUMENT_END;
@@ -8926,7 +8939,7 @@
 		ctxt->sax->error(ctxt->userData,
 		    "Extra content at the end of the document\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 
 	}
 	if (ctxt->instate != XML_PARSER_EOF) {
@@ -9456,14 +9469,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     if (ctxt->node != newDoc->children) {
 	ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
@@ -9471,7 +9484,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (!ctxt->wellFormed) {
@@ -9638,14 +9651,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     if (ctxt->node != newDoc->children) {
 	ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
@@ -9653,7 +9666,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (!ctxt->wellFormed) {
@@ -9833,14 +9846,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     if (ctxt->node != ctxt->myDoc->children) {
 	ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
@@ -9848,7 +9861,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (!ctxt->wellFormed) {
@@ -9994,14 +10007,14 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     } else if (RAW != 0) {
 	ctxt->errNo = XML_ERR_EXTRA_CONTENT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 		"extra content at the end of well balanced chunk\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
     if (ctxt->node != newDoc->children) {
 	ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
@@ -10009,7 +10022,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"chunk is not well balanced\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
     }
 
     if (!ctxt->wellFormed) {
@@ -10278,6 +10291,8 @@
     if ((ctxt->directory == NULL) && (directory != NULL))
         ctxt->directory = (char *) xmlStrdup((xmlChar *) directory);
 
+    ctxt->recovery = recovery;
+
     xmlParseDocument(ctxt);
 
     if ((ctxt->wellFormed) || recovery) ret = ctxt->myDoc;
diff --git a/parserInternals.c b/parserInternals.c
index c09fc95..656af84 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1175,7 +1175,7 @@
 				 "Char 0x%X out of allowed range\n", val);
 			    ctxt->errNo = XML_ERR_INVALID_ENCODING;
 			    ctxt->wellFormed = 0;
-			    ctxt->disableSAX = 1;
+			    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 			}    
 		    } else
 		      /* 2-byte code */
@@ -1317,7 +1317,7 @@
 				     "Char 0x%X out of allowed range\n", val);
 		ctxt->errNo = XML_ERR_INVALID_ENCODING;
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    }    
 	    return(val);
 	} else {
@@ -1438,7 +1438,7 @@
                                      val);
                 ctxt->errNo = XML_ERR_INVALID_ENCODING;
                 ctxt->wellFormed = 0;
-                ctxt->disableSAX = 1;
+                if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             }
             return (val);
         } else {
@@ -1568,7 +1568,7 @@
 	    if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		ctxt->sax->error(ctxt->userData, "encoding unknown\n");
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	    break;
 	case XML_CHAR_ENCODING_NONE:
 	    /* let's assume it's UTF-8 without the XML decl */
@@ -1604,7 +1604,7 @@
 		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		    ctxt->sax->error(ctxt->userData, "encoding unknown\n");
 		ctxt->wellFormed = 0;
-		ctxt->disableSAX = 1;
+		if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 		ctxt->charset = XML_CHAR_ENCODING_UTF8;
 		break;
 	    case XML_CHAR_ENCODING_NONE:
@@ -2750,7 +2750,7 @@
 	    ctxt->sax->error(ctxt->userData,
 		"Detected entity reference loop\n");
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
 	ctxt->errNo = XML_ERR_ENTITY_LOOP;
 	return(NULL);
     }
@@ -3051,7 +3051,7 @@
 	        ctxt->sax->error(ctxt->userData, 
 			         "String not closed \"%.50s\"\n", buf);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         } else {
 	    NEXT;
 	}
@@ -3078,7 +3078,7 @@
 	        ctxt->sax->error(ctxt->userData,
 			         "String not closed \"%.50s\"\n", buf);
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         } else {
 	    NEXT;
 	}
@@ -3189,7 +3189,7 @@
 	    }
 	    ctxt->errNo = XML_ERR_NS_DECL_ERROR;
 	    ctxt->wellFormed = 0;
-	    ctxt->disableSAX = 1;
+	    if (ctxt->recovery == 0) ctxt->disableSAX = 1;
             NEXT;
         }
     }
@@ -3344,7 +3344,7 @@
 	    ctxt->sax->error(ctxt->userData, "xmlHandleEntity %s: content == NULL\n",
 	               entity->name);
 	ctxt->wellFormed = 0;
-	ctxt->disableSAX = 1;
+	if (ctxt->recovery == 0) ctxt->disableSAX = 1;
         return;
     }
     len = xmlStrlen(entity->content);
