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 + + * 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 * 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 '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 } - + +
API Indexes
    +
+
+ +
+
@@ -274,10 +279,12 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateAttributeDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespace
Attributes
xmlValidateOneAttribute +xmlValidateOneNamespace xmlXPtrBuildNodeList
Automatic
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -206,6 +211,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlHandleEntityxmlValidateAttributeDeclxmlValidateOneAttribute +xmlValidateOneNamespace
Deletes
@@ -484,6 +490,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlNodeGetBase xmlNodeGetContent xmlValidateOneAttribute +xmlValidateOneNamespace
EntityValue
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -248,6 +253,7 @@ A:link, A:visited, A:active { text-decoration: underline }
files
+xmlLoadCatalogs xmlNanoFTPList
filled
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -373,7 +378,6 @@ A:link, A:visited, A:active { text-decoration: underline }
heuristic:
-xmlIsID xmlIsRef
hex
@@ -913,6 +917,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
instances
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -469,6 +474,7 @@ A:link, A:visited, A:active { text-decoration: underline }
resolveEntity resolveEntitySAXFunc +xmlIsID xmlShellLoad
loads
@@ -569,7 +575,6 @@ A:link, A:visited, A:active { text-decoration: underline }
lowercase
htmlTagLookup -xmlIsID xmlIsRef
luckily
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -217,10 +222,10 @@ A:link, A:visited, A:active { text-decoration: underline }
path
+xmlCheckFilename xmlGetNodePath xmlLoadACatalog xmlLoadCatalog -xmlLoadCatalogs xmlLoadSGMLSuperCatalog xmlNanoFTPGetSocket xmlNanoFTPUpdateURL @@ -624,6 +629,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlStopParser xmlURI xmlValidateOneAttribute +xmlValidateOneNamespace xmlXIncludeProcess
processor
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -274,6 +279,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
recomputed
@@ -605,6 +611,7 @@ A:link, A:visited, A:active { text-decoration: underline }
requested
xmlExternalEntityLoader +xmlIsID xmlMallocFunc xmlReallocFunc
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -283,6 +288,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlC14NDocSavexmlC14NDocSaveToxmlC14NExecute +xmlCheckFilenamexmlIsBaseCharxmlIsCombiningxmlIsDigit @@ -310,7 +316,6 @@ A:link, A:visited, A:active { text-decoration: underline }
separated
-xmlLoadCatalogs xmlURI
sequence
@@ -502,7 +507,6 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlFreeMutex xmlHashScanner -xmlIsID xmlIsRef xmlMutexLock xmlMutexUnlock @@ -525,6 +529,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDecl xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlXPathNewNodeSet xmlXPathNormalizeFunction xmlXPtrNewCollapsedRange @@ -555,6 +560,7 @@ A:link, A:visited, A:active { text-decoration: underline }
socket
+xmlCheckFilename xmlNanoFTPGetSocket
software
@@ -590,6 +596,7 @@ A:link, A:visited, A:active { text-decoration: underline }
source
htmlGetMetaEncoding +xmlCheckFilename
sourceforge
@@ -606,6 +613,10 @@ A:link, A:visited, A:active { text-decoration: underline } xmlSkipBlankChars xmlXPathNormalizeFunction
+
space-separated
+
+xmlLoadCatalogs +
spaces
htmlDocContentDumpFormatOutput @@ -618,7 +629,6 @@ A:link, A:visited, A:active { text-decoration: underline } xmlDocDumpFormatMemoryEnc xmlDocFormatDump xmlKeepBlanksDefault -xmlLoadCatalogs xmlParseElementChildrenContentDecl xmlParseElementMixedContentDecl xmlSaveFormatFile @@ -785,8 +795,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlOutputBufferCreateFilename xmlSaveFile xmlSaveFormatFile -xmlShellPrintNode -xmlShellPrintXPathResult +xmlShell
steam
@@ -1196,6 +1205,10 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlMutexPtr
+
systematically
+
+xmlIsID +

A-C 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 }

Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -176,6 +181,7 @@ A:link, A:visited, A:active { text-decoration: underline }
Fixed
xmlValidateOneAttribute +xmlValidateOneNamespace
Float
@@ -427,6 +433,7 @@ A:link, A:visited, A:active { text-decoration: underline }
xmlRef xmlValidateOneAttribute +xmlValidateOneNamespace
IDs
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -267,7 +272,6 @@ A:link, A:visited, A:active { text-decoration: underline }
upper
-xmlIsID xmlIsRef
uri
@@ -365,6 +369,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
validates
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -333,6 +338,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlNewGlobalNsxmlScanNamexmlValidateOneAttribute +xmlValidateOneNamespace
won
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -384,6 +389,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlScanNamexmlValidateNameValuexmlValidateOneAttribute +xmlValidateOneNamespace
Names
@@ -472,6 +478,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlParseNotationType xmlValidateNotationUse xmlValidateOneAttribute +xmlValidateOneNamespace
Note
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -202,6 +207,7 @@ A:link, A:visited, A:active { text-decoration: underline }
Token
xmlValidateOneAttribute +xmlValidateOneNamespace
Traversal
@@ -250,6 +256,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDecl xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlValidateRoot
Type
@@ -257,6 +264,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlSchemaFreeTypexmlValidateElementDeclxmlValidateOneAttribute +xmlValidateOneNamespacexmlValidateRoot
Types
@@ -389,6 +397,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationUsexmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
VMS
@@ -416,6 +425,7 @@ A:link, A:visited, A:active { text-decoration: underline }
Value
xmlValidateOneAttribute +xmlValidateOneNamespace xmlXPathNewValueTree
Values
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -128,6 +133,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
XMLSchema
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -173,6 +178,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDeclxmlValidateOneAttributexmlValidateOneElement +xmlValidateOneNamespacexmlValidateRoot
basis
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -427,6 +432,7 @@ A:link, A:visited, A:active { text-decoration: underline } LIBXML_TEST_VERSIONcheckNamespacehtmlIsBooleanAttr +xmlCheckFilenamexmlCheckUTF8xmlCheckVersionxmlIOFTPMatch @@ -455,6 +461,7 @@ A:link, A:visited, A:active { text-decoration: underline }
htmlAutoCloseTag htmlIsAutoClosed +xmlCheckFilename xmlCheckUTF8 xmlNanoFTPInit xmlNanoHTTPInit @@ -466,6 +473,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDecl xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlXPathNodeSetContains
children
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -238,6 +243,7 @@ A:link, A:visited, A:active { text-decoration: underline }
defaults
+xmlShell xmlXPathLocalNameFunction xmlXPathNamespaceURIFunction xmlXPathNormalizeFunction @@ -367,6 +373,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDecl xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlValidateRoot
describing
@@ -470,6 +477,7 @@ A:link, A:visited, A:active { text-decoration: underline } docbCreatePushParserCtxthtmlCreatePushParserCtxtxmlCreatePushParserCtxt +xmlIsIDxmlParseBalancedChunkMemoryxmlParseBalancedChunkMemoryRecoverxmlParseExternalEntity @@ -606,6 +614,7 @@ A:link, A:visited, A:active { text-decoration: underline }
documents
+xmlIsID xmlSAXParseDoc xmlSAXParseFile xmlSAXParseFileWithData @@ -625,6 +634,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationDecl xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlValidateRoot xmlXPathSubstringAfterFunction xmlXPathSubstringBeforeFunction @@ -661,6 +671,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlEncodeSpecialChars xmlGetDocEntity xmlInitializeCatalog +xmlIsID xmlKeepBlanksDefault xmlLoadCatalog xmlLoadCatalogs 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 }
Related links
- + +
API Indexes
    +
+
+ +
+
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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -1077,7 +1082,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateElementxmlValidateOneElementxmlValidateOneAttribute -xmlValidateOneNamespace +xmlValidateOneNamespacexmlValidateDocumentFinalxmlValidateNotationUsexmlIsMixedElement @@ -1095,6 +1100,46 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidBuildContentModel

+Module wsockcompat:

+

+SOCKLEN_T +EWOULDBLOCK +EINPROGRESS +EALREADY +ENOTSOCK +EDESTADDRREQ +EMSGSIZE +EPROTOTYPE +ENOPROTOOPT +EPROTONOSUPPORT +ESOCKTNOSUPPORT +EOPNOTSUPP +EPFNOSUPPORT +EAFNOSUPPORT +EADDRINUSE +EADDRNOTAVAIL +ENETDOWN +ENETUNREACH +ENETRESET +ECONNABORTED +ECONNRESET +ENOBUFS +EISCONN +ENOTCONN +ESHUTDOWN +ETOOMANYREFS +ETIMEDOUT +ECONNREFUSED +ELOOP +EHOSTDOWN +EHOSTUNREACH +EPROCLIM +EUSERS +EDQUOT +ESTALE +EREMOTE +

+

Module xinclude:

xmlXIncludeProcess @@ -1143,6 +1188,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlRegisterHTTPPostCallbacks xmlNoNetExternalEntityLoader xmlNormalizeWindowsPath +xmlCheckFilename xmlFileMatch xmlFileOpen xmlFileRead 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 }

Related links
- + +
API Indexes
    +
+
+ +
+
@@ -443,8 +448,8 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidCtxtNormalizeAttributeValuexmlValidateAttributeValuexmlValidateOneAttribute -xmlValidateOneNamespace -xmlValidateOneNamespace +xmlValidateOneNamespace +xmlValidateOneNamespacexmlValidateNotationUsexmlIsMixedElementxmlGetDtdAttrDesc @@ -1198,7 +1203,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateElementxmlValidateOneElementxmlValidateOneAttribute -xmlValidateOneNamespace +xmlValidateOneNamespacexmlValidateDocumentFinalxmlValidateNotationUsexmlIsMixedElement @@ -1569,7 +1574,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateElementxmlValidateOneElementxmlValidateOneAttribute -xmlValidateOneNamespace +xmlValidateOneNamespacexmlXPathNodeSetCreatexmlXPathCmpNodesxmlXPathCmpNodes @@ -1692,7 +1697,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlCopyNamespaceListxmlSetNsPropxmlUnsetNsProp -xmlValidateOneNamespace +xmlValidateOneNamespacexmlXPathNodeSetAddNsxmlXPathNodeSetFreeNs

@@ -1969,7 +1974,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateElementxmlValidateOneElementxmlValidateOneAttribute -xmlValidateOneNamespace +xmlValidateOneNamespacexmlValidateDocumentFinalxmlValidateNotationUsexmlValidBuildContentModel 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 }
Related links
- + +
API Indexes
    +
+
+ +
+
@@ -113,6 +118,44 @@ A:link, A:visited, A:active { text-decoration: underline } DEBUG_MEMORYDEBUG_MEMORY_LOCATION

+

Letter E:

+

+EADDRINUSE +EADDRNOTAVAIL +EAFNOSUPPORT +EALREADY +ECONNABORTED +ECONNREFUSED +ECONNRESET +EDESTADDRREQ +EDQUOT +EHOSTDOWN +EHOSTUNREACH +EINPROGRESS +EISCONN +ELOOP +EMSGSIZE +ENETDOWN +ENETRESET +ENETUNREACH +ENOBUFS +ENOPROTOOPT +ENOTCONN +ENOTSOCK +EOPNOTSUPP +EPFNOSUPPORT +EPROCLIM +EPROTONOSUPPORT +EPROTOTYPE +EREMOTE +ESHUTDOWN +ESOCKTNOSUPPORT +ESTALE +ETIMEDOUT +ETOOMANYREFS +EUSERS +EWOULDBLOCK +

Letter H:

HTML_COMMENT_NODE @@ -180,6 +223,7 @@ A:link, A:visited, A:active { text-decoration: underline }

Letter S:

SKIP_EOL +SOCKLEN_T

Letter U:

@@ -563,6 +607,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlCharEncodingOutputFunc xmlCharStrdup xmlCharStrndup +xmlCheckFilename xmlCheckLanguageID xmlCheckUTF8 xmlCheckVersion @@ -1433,6 +1478,7 @@ A:link, A:visited, A:active { text-decoration: underline } xmlValidateNotationUse xmlValidateOneAttribute xmlValidateOneElement +xmlValidateOneNamespace xmlValidateRoot xmlValidityErrorFunc xmlValidityWarningFunc 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 }

  • 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 part - of the official UNIX specification. Here is one implementation - of the library which source can be found here.
  • + of the official UNIX specification. Here is one implementation of the + library which source can be found here.
  • @@ -357,13 +357,12 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */ else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd);
  • -
  • So what is this funky "xmlChar" used all the time? -

    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.

    +
  • So what is this funky "xmlChar" used all the time? +

    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.

  • -
  • etc ...
  • 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 ' ]>' > \ xml/"$$name".xml ;\ - grep -v "^> xml/"$$name".xml ; done) + grep -v "^++' >> 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.

  • This page provides a global overview and some examples on how to use libxml.
  • -
  • John Fleck's libxml tutorial: html or pdf.
  • +
  • John Fleck's libxml tutorial: html or + pdf.
  • James Henstridge wrote some nice documentation explaining how to use the libxml SAX interface.
  • 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 @@ - @@ -79,6 +78,7 @@ + @@ -318,7 +318,6 @@ - @@ -807,7 +806,6 @@ - @@ -1030,7 +1028,6 @@ - @@ -1106,6 +1103,7 @@ + @@ -1184,6 +1182,10 @@ + + + + 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

    Schemas and XInclude +

    2.4.27: Nov 17 2002

    +
      +
    • fixes for the Python bindings
    • +
    • 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
    • +
    • added grep to xmllint --shell
    • +
    • VMS update patch from Craig A. Berry
    • +
    • cleanup of the Windows build with support for more compilers (Igor), + better thread support on Windows
    • +
    • cleanup of Unix Makefiles and spec file
    • +
    • Improvements to the documentation (John Fleck)
    • +

    2.4.26: Oct 18 2002

    @@ -407,13 +407,12 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */ else xmlAddPrevSibling(doc->children, (xmlNodePtr)dtd); -
  • So what is this funky "xmlChar" used all the time? -

    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.

    +
  • So what is this funky "xmlChar" used all the time? +

    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.

  • -
  • etc ...
  • @@ -434,7 +433,8 @@ xmlDtdPtr dtd = xmlParseDTD(NULL, filename_of_dtd); /* parse the DTD */ internationalization support.
  • This page provides a global overview and some examples on how to use libxml.
  • -
  • John Fleck's libxml tutorial: html or pdf.
  • +
  • John Fleck's libxml tutorial: html or + pdf.
  • James Henstridge wrote some nice documentation explaining how to use the libxml SAX interface.
  • @@ -589,6 +589,22 @@ to test those

    Schemas and XInclude +

    2.4.27: Nov 17 2002

    +
      +
    • fixes for the Python bindings
    • +
    • 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
    • +
    • added grep to xmllint --shell
    • +
    • VMS update patch from Craig A. Berry
    • +
    • cleanup of the Windows build with support for more compilers (Igor), + better thread support on Windows
    • +
    • cleanup of Unix Makefiles and spec file
    • +
    • Improvements to the documentation (John Fleck)
    • +
    +

    2.4.26: Oct 18 2002

    • Patches for Windows CE port, improvements on Windows paths handling
    • @@ -2707,6 +2723,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + } diff --git a/doc/xmlio.html b/doc/xmlio.html index eca8e829..64faab03 100644 --- a/doc/xmlio.html +++ b/doc/xmlio.html @@ -248,6 +248,7 @@ xmlOutputBufferCreateOwn(FILE *file, xmlCharEncodingHandlerPtr encoder) { + } 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
    Related links