summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--DOCBparser.c46
-rw-r--r--HTMLparser.c2
-rw-r--r--configure.in2
-rw-r--r--doc/APIchunk0.html11
-rw-r--r--doc/APIchunk1.html11
-rw-r--r--doc/APIchunk10.html9
-rw-r--r--doc/APIchunk11.html10
-rw-r--r--doc/APIchunk12.html11
-rw-r--r--doc/APIchunk13.html11
-rw-r--r--doc/APIchunk14.html9
-rw-r--r--doc/APIchunk15.html9
-rw-r--r--doc/APIchunk16.html12
-rw-r--r--doc/APIchunk17.html11
-rw-r--r--doc/APIchunk18.html27
-rw-r--r--doc/APIchunk19.html9
-rw-r--r--doc/APIchunk2.html11
-rw-r--r--doc/APIchunk20.html11
-rw-r--r--doc/APIchunk21.html10
-rw-r--r--doc/APIchunk22.html9
-rw-r--r--doc/APIchunk3.html11
-rw-r--r--doc/APIchunk4.html9
-rw-r--r--doc/APIchunk5.html14
-rw-r--r--doc/APIchunk6.html10
-rw-r--r--doc/APIchunk7.html10
-rw-r--r--doc/APIchunk8.html12
-rw-r--r--doc/APIchunk9.html15
-rw-r--r--doc/APIconstructors.html9
-rw-r--r--doc/APIfiles.html52
-rw-r--r--doc/APIfunctions.html21
-rw-r--r--doc/APIsymbols.html50
-rw-r--r--doc/FAQ.html15
-rw-r--r--doc/Makefile.am9
-rw-r--r--doc/docs.html3
-rw-r--r--doc/html/index.sgml10
-rw-r--r--doc/news.html15
-rw-r--r--doc/xml.html35
-rw-r--r--doc/xmlio.html1
-rw-r--r--include/libxml/parser.h1
-rw-r--r--libxml.spec.in1
-rw-r--r--parser.c405
-rw-r--r--parserInternals.c20
42 files changed, 643 insertions, 325 deletions
diff --git a/ChangeLog b/ChangeLog
index c4f090dc..c5833380 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 33f52558..6f381510 100644
--- a/DOCBparser.c
+++ b/DOCBparser.c
@@ -312,7 +312,7 @@ docbCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
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 @@ docbParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
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 @@ docbParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
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 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
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 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
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 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
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 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
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 @@ docbParsePI(xmlParserCtxtPtr ctxt) {
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 @@ docbCheckEncoding(docbParserCtxtPtr ctxt, const xmlChar *attvalue) {
"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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ docbParseInternalSubset(xmlParserCtxtPtr ctxt) {
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 @@ docbParseInternalSubset(xmlParserCtxtPtr ctxt) {
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 46109870..34f15abc 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -259,7 +259,7 @@ htmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
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 1ff3a435..c1ef05d3 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@ AC_CANONICAL_HOST
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 4ee1668e..a0247b13 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 c8d11494..976dbf4f 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 adebf680..3a2d5e30 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 8b613140..f59f0fea 100644
--- a/doc/APIchunk11.html
+++ b/doc/APIchunk11.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 ad2398e1..eb8ff46b 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 fc9e9037..6536a815 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 edd5acbe..c382908b 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 d4edca30..76eac08e 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 15096aa0..d6ea7d68 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 47710e80..f4979d12 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 ee4e76cc..00de49d5 100644
--- a/doc/APIchunk18.html
+++ b/doc/APIchunk18.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 287cc249..6bb39d67 100644
--- a/doc/APIchunk19.html
+++ b/doc/APIchunk19.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 f5dd4713..3cefab86 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 dbe27695..dbecbd14 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 9b09bfda..1e3cf4b2 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 636d7190..2454fe4d 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 6311e4d8..46373317 100644
--- a/doc/APIchunk3.html
+++ b/doc/APIchunk3.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 149cc7f8..9b18e398 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 672bd496..91f0bd89 100644
--- a/doc/APIchunk5.html
+++ b/doc/APIchunk5.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 e8a18a2b..3de294c9 100644
--- a/doc/APIchunk6.html
+++ b/doc/APIchunk6.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 4e9f4d88..661ad761 100644
--- a/doc/APIchunk7.html
+++ b/doc/APIchunk7.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 0886d288..1b9e2a00 100644
--- a/doc/APIchunk8.html
+++ b/doc/APIchunk8.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 5f37651b..005234be 100644
--- a/doc/APIchunk9.html
+++ b/doc/APIchunk9.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 601c30b7..8b771237 100644
--- a/doc/APIconstructors.html
+++ b/doc/APIconstructors.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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 87b64897..7db45e8b 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 1e3c2c43..8bffc997 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 3e7223ad..9bef4ac0 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -63,13 +63,18 @@ A:link, A:visited, A:active { text-decoration: underline }
</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:link, A:visited, A:active { text-decoration: underline }
<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 @@ A:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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:link, A:visited, A:active { text-decoration: underline }
<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 403dde02..da93c88b 100644
--- a/doc/FAQ.html
+++ b/doc/FAQ.html
@@ -197,8 +197,8 @@ A:link, A:visited, A:active { text-decoration: underline }
<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 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
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 127ef3a6..fa53daf4 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -18,7 +18,9 @@ PAGES= architecture.html bugs.html contribs.html docs.html DOM.html \
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 @@ xml: sgml
-@(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-data-local:
-@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 fb4fd916..4661a6b0 100644
--- a/doc/docs.html
+++ b/doc/docs.html
@@ -106,7 +106,8 @@ A:link, A:visited, A:active { text-decoration: underline }
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 9aaeb629..3c558fd1 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 94470b68..b13b0077 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -102,6 +102,21 @@ to test those</p>
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 afb75ea3..44a022fd 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -250,8 +250,8 @@ libxml2</p>
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 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
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 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */
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 @@ to test those</p>
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 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
+
} </pre>
</li>
<li>And then use it to save the document:
diff --git a/doc/xmlio.html b/doc/xmlio.html
index eca8e829..64faab03 100644
--- a/doc/xmlio.html
+++ b/doc/xmlio.html
@@ -249,6 +249,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) {
+
} </pre>
</li>
<li>And then use it to save the document:
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index a4740746..e6725a36 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -219,6 +219,7 @@ struct _xmlParserCtxt {
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 35e0c6c4..67f53955 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -115,6 +115,7 @@ rm -fr %{buildroot}
%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 ca56c1d8..3b62431a 100644
--- a/parser.c
+++ b/parser.c
@@ -486,7 +486,7 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseCharRef(xmlParserCtxtPtr ctxt) {
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(xmlParserCtxtPtr ctxt) {
"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 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseStringCharRef(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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(xmlParserCtxtPtr ctxt) {
"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 @@ xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlStringDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int what,
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 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
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 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
"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 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
"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 @@ xmlParseEntityValue(xmlParserCtxtPtr ctxt, xmlChar **orig) {
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 @@ xmlParseAttValue(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSystemLiteral(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSystemLiteral(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePubidLiteral(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePubidLiteral(xmlParserCtxtPtr ctxt) {
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 @@ get_more:
"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 @@ xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
"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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseExternalID(xmlParserCtxtPtr ctxt, xmlChar **publicID, int strict) {
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 @@ xmlParseComment(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseComment(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseComment(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePITarget(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, xmlChar **value) {
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 @@ xmlParseDefaultDecl(xmlParserCtxtPtr ctxt, xmlChar **value) {
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 @@ xmlParseNotationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseNotationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEnumerationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEnumerationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEnumerationType(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEnumeratedType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, xmlParserInputPtr inputch
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 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, xmlParserInputPtr inputch
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 @@ xmlParseElementMixedContentDecl(xmlParserCtxtPtr ctxt, xmlParserInputPtr inputch
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 @@ xmlParseElementChildrenContentDecl
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
"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
"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 @@ xmlParseElementChildrenContentDecl
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 @@ xmlParseElementChildrenContentDecl
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 @@ xmlParseElementContentDecl(xmlParserCtxtPtr ctxt, xmlChar *name,
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 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
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(xmlParserCtxtPtr ctxt) {
"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 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseElementDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
*/
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseConditionalSections(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTextDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
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 @@ xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
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 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
"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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEntityRef(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParseStringEntityRef(xmlParserCtxtPtr ctxt, const xmlChar ** str) {
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 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParsePEReference(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseStringPEReference(xmlParserCtxtPtr ctxt, const xmlChar **str) {
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 @@ xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseDocTypeDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseInternalSubset(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
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 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
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 @@ xmlParseAttribute(xmlParserCtxtPtr ctxt, xmlChar **value) {
"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 @@ xmlParseStartTag(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseStartTag(xmlParserCtxtPtr ctxt) {
"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 @@ failed:
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 @@ failed:
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 @@ xmlParseEndTag(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEndTag(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEndTag(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEndTag(xmlParserCtxtPtr ctxt) {
}
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 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseCDSect(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseContent(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
"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 @@ xmlParseElement(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseVersionInfo(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseVersionInfo(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseVersionInfo(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseVersionInfo(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEncName(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseEncodingDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseSDDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseXMLDecl(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseDocument(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseExtParsedEnt(xmlParserCtxtPtr ctxt) {
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 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
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 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
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 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
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 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
"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 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
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 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
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 @@ xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
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 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
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 @@ xmlParseCtxtExternalEntity(xmlParserCtxtPtr ctx, const xmlChar *URL,
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 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
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 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
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 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
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 @@ xmlParseBalancedChunkMemoryInternal(xmlParserCtxtPtr oldctxt,
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 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
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 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
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 @@ xmlSAXParseFileWithData(xmlSAXHandlerPtr sax, const char *filename,
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 c09fc95d..656af842 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -1175,7 +1175,7 @@ xmlNextChar(xmlParserCtxtPtr ctxt) {
"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 @@ xmlCurrentChar(xmlParserCtxtPtr ctxt, int *len) {
"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 @@ xmlStringCurrentChar(xmlParserCtxtPtr ctxt, const xmlChar * cur, int *len)
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 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
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 @@ xmlSwitchEncoding(xmlParserCtxtPtr ctxt, xmlCharEncoding enc)
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 @@ xmlDecodeEntities(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED, int len ATTRIBUTE_UNUS
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 @@ xmlGenericError(xmlGenericErrorContext,
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 @@ xmlGenericError(xmlGenericErrorContext,
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 @@ xmlGenericError(xmlGenericErrorContext,
}
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 @@ xmlHandleEntity(xmlParserCtxtPtr ctxt ATTRIBUTE_UNUSED, xmlEntityPtr entity ATTR
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);