For Havoc: - HTMLparser.c parser.c: set ctxt->errNo before calling the
For Havoc:
- HTMLparser.c parser.c: set ctxt->errNo before calling the error handlers
Daniel
diff --git a/ChangeLog b/ChangeLog
index 638a4b2..85a5a9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 16 20:12:41 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
+
+ * HTMLparser.c parser.c: set ctxt->errNo before calling the
+ error or warning handlers
+
Wed Sep 13 22:03:18 CEST 2000 Daniel Veillard <Daniel.Veillard@w3.org>
* parserInternals.c parserInternals.h parser.c Makefile.am:
diff --git a/HTMLparser.c b/HTMLparser.c
index fd7c8c0..7d99fcb 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -254,11 +254,11 @@
val |= cur[1] & 0x3f;
}
if (!IS_CHAR(val)) {
+ ctxt->errNo = XML_ERR_INVALID_ENCODING;
if ((ctxt->sax != NULL) &&
(ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Char 0x%X out of allowed range\n", val);
- ctxt->errNo = XML_ERR_INVALID_ENCODING;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -293,6 +293,7 @@
* to ISO-Latin-1 (if you don't like this policy, just declare the
* encoding !)
*/
+ ctxt->errNo = XML_ERR_INVALID_ENCODING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
ctxt->sax->error(ctxt->userData,
"Input is not proper UTF-8, indicate encoding !\n");
@@ -300,7 +301,6 @@
ctxt->input->cur[0], ctxt->input->cur[1],
ctxt->input->cur[2], ctxt->input->cur[3]);
}
- ctxt->errNo = XML_ERR_INVALID_ENCODING;
ctxt->charset = XML_CHAR_ENCODING_8859_1;
*len = 1;
@@ -1494,12 +1494,12 @@
int c,l;
if (ctxt->depth > 40) {
+ ctxt->errNo = XML_ERR_ENTITY_LOOP;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Detected entity reference loop\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENTITY_LOOP;
return(NULL);
}
@@ -1601,7 +1601,6 @@
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"malloc: couldn't allocate a new input stream\n");
- ctxt->errNo = XML_ERR_NO_MEMORY;
return(NULL);
}
memset(input, 0, sizeof(htmlParserInput));
@@ -2433,10 +2432,10 @@
}
buf[len] = 0;
if (!IS_CHAR(cur)) {
+ ctxt->errNo = XML_ERR_COMMENT_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Comment not terminated \n<!--%.50s\n", buf);
- ctxt->errNo = XML_ERR_COMMENT_NOT_FINISHED;
ctxt->wellFormed = 0;
xmlFree(buf);
} else {
@@ -2726,10 +2725,10 @@
ctxt->input->buf->buffer,
ctxt->input->buf->raw);
if (nbchars < 0) {
+ ctxt->errNo = XML_ERR_INVALID_ENCODING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"htmlCheckEncoding: encoder error\n");
- ctxt->errNo = XML_ERR_INVALID_ENCODING;
}
ctxt->input->base =
ctxt->input->cur = ctxt->input->buf->buffer->content;
@@ -3959,11 +3958,11 @@
(avail < 4)) {
goto done;
} else {
+ ctxt->errNo = XML_ERR_DOCUMENT_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_DOCUMENT_END;
ctxt->instate = XML_PARSER_EOF;
#ifdef DEBUG_PUSH
fprintf(stderr, "HPP: entering EOF\n");
@@ -4390,11 +4389,11 @@
if ((ctxt->instate != XML_PARSER_EOF) &&
(ctxt->instate != XML_PARSER_EPILOG) &&
(ctxt->instate != XML_PARSER_MISC)) {
+ ctxt->errNo = XML_ERR_DOCUMENT_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_DOCUMENT_END;
}
if (ctxt->instate != XML_PARSER_EOF) {
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL))
diff --git a/parser.c b/parser.c
index a6ba145..4b43510 100644
--- a/parser.c
+++ b/parser.c
@@ -785,12 +785,12 @@
return(NULL);
if (ctxt->depth > 40) {
+ ctxt->errNo = XML_ERR_ENTITY_LOOP;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Detected entity reference loop\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENTITY_LOOP;
return(NULL);
}
@@ -2085,22 +2085,22 @@
cur++;
name = xmlParseStringName(ctxt, &cur);
if ((name == NULL) || (*cur != ';')) {
+ ctxt->errNo = XML_ERR_ENTITY_CHAR_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"EntityValue: '%c' forbidden except for entities references\n",
tmp);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENTITY_CHAR_ERROR;
}
if ((ctxt->inSubset == 1) && (tmp == '%')) {
+ ctxt->errNo = XML_ERR_ENTITY_PE_INTERNAL;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"EntityValue: PEReferences forbidden in internal subset\n",
tmp);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENTITY_PE_INTERNAL;
}
if (name != NULL)
xmlFree(name);
@@ -2321,16 +2321,16 @@
}
buf[len++] = 0;
if (RAW == '<') {
+ ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Unescaped '<' not allowed in attributes values\n");
- ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
ctxt->wellFormed = 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->errNo = XML_ERR_ATTRIBUTE_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else
@@ -2367,10 +2367,10 @@
NEXT;
stop = '\'';
} else {
+ ctxt->errNo = XML_ERR_LITERAL_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"SystemLiteral \" or ' expected\n");
- ctxt->errNo = XML_ERR_LITERAL_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -2410,9 +2410,9 @@
buf[len] = 0;
ctxt->instate = (xmlParserInputState) state;
if (!IS_CHAR(cur)) {
+ ctxt->errNo = XML_ERR_LITERAL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Unfinished SystemLiteral\n");
- ctxt->errNo = XML_ERR_LITERAL_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -2449,10 +2449,10 @@
NEXT;
stop = '\'';
} else {
+ ctxt->errNo = XML_ERR_LITERAL_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"SystemLiteral \" or ' expected\n");
- ctxt->errNo = XML_ERR_LITERAL_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -2488,9 +2488,9 @@
}
buf[len] = 0;
if (cur != stop) {
+ ctxt->errNo = XML_ERR_LITERAL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Unfinished PubidLiteral\n");
- ctxt->errNo = XML_ERR_LITERAL_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -2532,10 +2532,10 @@
(NXT(2) == '>')) {
if (cdata) break;
else {
+ ctxt->errNo = XML_ERR_MISPLACED_CDATA_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Sequence ']]>' not allowed in content\n");
- ctxt->errNo = XML_ERR_MISPLACED_CDATA_END;
/* Should this be relaxed ??? I see a "must here */
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
@@ -2614,20 +2614,20 @@
(NXT(4) == 'E') && (NXT(5) == 'M')) {
SKIP(6);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after 'SYSTEM'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
SKIP_BLANKS;
URI = xmlParseSystemLiteral(ctxt);
if (URI == NULL) {
+ ctxt->errNo = XML_ERR_URI_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseExternalID: SYSTEM, no URI\n");
- ctxt->errNo = XML_ERR_URI_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2636,20 +2636,20 @@
(NXT(4) == 'I') && (NXT(5) == 'C')) {
SKIP(6);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after 'PUBLIC'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
SKIP_BLANKS;
*publicID = xmlParsePubidLiteral(ctxt);
if (*publicID == NULL) {
+ ctxt->errNo = XML_ERR_PUBID_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseExternalID: PUBLIC, no Public Identifier\n");
- ctxt->errNo = XML_ERR_PUBID_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2658,10 +2658,10 @@
* We don't handle [83] so "S SystemLiteral" is required.
*/
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the Public Identifier\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2683,10 +2683,10 @@
SKIP_BLANKS;
URI = xmlParseSystemLiteral(ctxt);
if (URI == NULL) {
+ ctxt->errNo = XML_ERR_URI_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseExternalID: PUBLIC, no URI\n");
- ctxt->errNo = XML_ERR_URI_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2742,10 +2742,10 @@
((cur != '>') ||
(r != '-') || (q != '-'))) {
if ((r == '-') && (q == '-') && (len > 1)) {
+ ctxt->errNo = XML_ERR_HYPHEN_IN_COMMENT;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Comment must not contain '--' (double-hyphen)`\n");
- ctxt->errNo = XML_ERR_HYPHEN_IN_COMMENT;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2779,19 +2779,19 @@
}
buf[len] = 0;
if (!IS_CHAR(cur)) {
+ ctxt->errNo = XML_ERR_COMMENT_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Comment not terminated \n<!--%.50s\n", buf);
- ctxt->errNo = XML_ERR_COMMENT_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
xmlFree(buf);
} else {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Comment doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2827,17 +2827,17 @@
int i;
if ((name[0] == 'x') && (name[1] == 'm') &&
(name[2] == 'l') && (name[3] == 0)) {
+ ctxt->errNo = XML_ERR_RESERVED_XML_NAME;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML declaration allowed only at the start of the document\n");
- ctxt->errNo = XML_ERR_RESERVED_XML_NAME;
ctxt->wellFormed = 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->errNo = XML_ERR_RESERVED_XML_NAME;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(name);
@@ -2848,9 +2848,9 @@
return(name);
}
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL)) {
+ ctxt->errNo = XML_ERR_RESERVED_XML_NAME;
ctxt->sax->warning(ctxt->userData,
"xmlParsePItarget: invalid name prefix 'xml'\n");
- ctxt->errNo = XML_ERR_RESERVED_XML_NAME;
}
}
return(name);
@@ -2895,10 +2895,10 @@
if (target != NULL) {
if ((RAW == '?') && (NXT(1) == '>')) {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"PI declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2923,10 +2923,10 @@
}
cur = CUR;
if (!IS_BLANK(cur)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParsePI: PI %s space expected\n", target);
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2959,18 +2959,18 @@
}
buf[len] = 0;
if (cur != '?') {
+ ctxt->errNo = XML_ERR_PI_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParsePI: PI %s never end ...\n", target);
- ctxt->errNo = XML_ERR_PI_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"PI declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -2987,10 +2987,10 @@
xmlFree(buf);
xmlFree(target);
} else {
+ ctxt->errNo = XML_ERR_PI_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParsePI : no target name\n");
- ctxt->errNo = XML_ERR_PI_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3029,10 +3029,10 @@
SHRINK;
SKIP(10);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after '<!NOTATION'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return;
@@ -3041,19 +3041,19 @@
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NOTATION_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"NOTATION: Name expected here\n");
- ctxt->errNo = XML_ERR_NOTATION_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return;
}
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the NOTATION name'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return;
@@ -3068,10 +3068,10 @@
if (RAW == '>') {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Notation declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3080,10 +3080,10 @@
(ctxt->sax->notationDecl != NULL))
ctxt->sax->notationDecl(ctxt->userData, name, Pubid, Systemid);
} else {
+ ctxt->errNo = XML_ERR_NOTATION_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"'>' required to close NOTATION declaration\n");
- ctxt->errNo = XML_ERR_NOTATION_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3134,10 +3134,10 @@
SHRINK;
SKIP(8);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after '<!ENTITY'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3146,10 +3146,10 @@
if (RAW == '%') {
NEXT;
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after '%'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3159,18 +3159,18 @@
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "xmlParseEntityDecl: no name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return;
}
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the entity name\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3192,10 +3192,10 @@
} else {
URI = xmlParseExternalID(ctxt, &literal, 1);
if ((URI == NULL) && (literal == NULL)) {
+ ctxt->errNo = XML_ERR_VALUE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity value required\n");
- ctxt->errNo = XML_ERR_VALUE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3204,22 +3204,22 @@
uri = xmlParseURI((const char *) URI);
if (uri == NULL) {
+ ctxt->errNo = XML_ERR_INVALID_URI;
if ((ctxt->sax != NULL) &&
(!ctxt->disableSAX) &&
(ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Invalid URI: %s\n", URI);
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_INVALID_URI;
} else {
if (uri->fragment != NULL) {
+ ctxt->errNo = XML_ERR_URI_FRAGMENT;
if ((ctxt->sax != NULL) &&
(!ctxt->disableSAX) &&
(ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Fragment not allowed: %s\n", URI);
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_URI_FRAGMENT;
} else {
if ((ctxt->sax != NULL) &&
(!ctxt->disableSAX) &&
@@ -3243,10 +3243,10 @@
} else {
URI = xmlParseExternalID(ctxt, &literal, 1);
if ((URI == NULL) && (literal == NULL)) {
+ ctxt->errNo = XML_ERR_VALUE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity value required\n");
- ctxt->errNo = XML_ERR_VALUE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3255,31 +3255,31 @@
uri = xmlParseURI((const char *)URI);
if (uri == NULL) {
+ ctxt->errNo = XML_ERR_INVALID_URI;
if ((ctxt->sax != NULL) &&
(!ctxt->disableSAX) &&
(ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Invalid URI: %s\n", URI);
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_INVALID_URI;
} else {
if (uri->fragment != NULL) {
+ ctxt->errNo = XML_ERR_URI_FRAGMENT;
if ((ctxt->sax != NULL) &&
(!ctxt->disableSAX) &&
(ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Fragment not allowed: %s\n", URI);
ctxt->wellFormed = 0;
- ctxt->errNo = XML_ERR_URI_FRAGMENT;
}
xmlFreeURI(uri);
}
}
if ((RAW != '>') && (!IS_BLANK(CUR))) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required before 'NDATA'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3289,10 +3289,10 @@
(NXT(4) == 'A')) {
SKIP(5);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after 'NDATA'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3313,18 +3313,18 @@
}
SKIP_BLANKS;
if (RAW != '>') {
+ ctxt->errNo = XML_ERR_ENTITY_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEntityDecl: entity %s not terminated\n", name);
- ctxt->errNo = XML_ERR_ENTITY_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3418,10 +3418,10 @@
SKIP(6);
val = XML_ATTRIBUTE_FIXED;
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after '#FIXED'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3463,10 +3463,10 @@
xmlEnumerationPtr ret = NULL, last = NULL, cur;
if (RAW != '(') {
+ ctxt->errNo = XML_ERR_NOTATION_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"'(' required to start 'NOTATION'\n");
- ctxt->errNo = XML_ERR_NOTATION_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -3477,10 +3477,10 @@
SKIP_BLANKS;
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Name expected in NOTATION declaration\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(ret);
@@ -3496,10 +3496,10 @@
SKIP_BLANKS;
} while (RAW == '|');
if (RAW != ')') {
+ ctxt->errNo = XML_ERR_NOTATION_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"')' required to finish NOTATION declaration\n");
- ctxt->errNo = XML_ERR_NOTATION_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if ((last != NULL) && (last != ret))
@@ -3531,10 +3531,10 @@
xmlEnumerationPtr ret = NULL, last = NULL, cur;
if (RAW != '(') {
+ ctxt->errNo = XML_ERR_ATTLIST_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"'(' required to start ATTLIST enumeration\n");
- ctxt->errNo = XML_ERR_ATTLIST_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -3545,10 +3545,10 @@
SKIP_BLANKS;
name = xmlParseNmtoken(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NMTOKEN_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"NmToken expected in ATTLIST enumeration\n");
- ctxt->errNo = XML_ERR_NMTOKEN_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(ret);
@@ -3564,10 +3564,10 @@
SKIP_BLANKS;
} while (RAW == '|');
if (RAW != ')') {
+ ctxt->errNo = XML_ERR_ATTLIST_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"')' required to finish ATTLIST enumeration\n");
- ctxt->errNo = XML_ERR_ATTLIST_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(ret);
@@ -3599,10 +3599,10 @@
(NXT(6) == 'O') && (NXT(7) == 'N')) {
SKIP(8);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after 'NOTATION'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(0);
@@ -3736,20 +3736,20 @@
SKIP(9);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after '<!ATTLIST'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
SKIP_BLANKS;
elemName = xmlParseName(ctxt);
if (elemName == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"ATTLIST: no name for Element\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return;
@@ -3766,20 +3766,20 @@
tree = NULL;
attrName = xmlParseName(ctxt);
if (attrName == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"ATTLIST: no name for Attribute\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
break;
}
GROW;
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the attribute name\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if (attrName != NULL)
@@ -3801,10 +3801,10 @@
GROW;
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the attribute type\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if (attrName != NULL)
@@ -3831,10 +3831,10 @@
GROW;
if (RAW != '>') {
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the attribute default value\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if (attrName != NULL)
@@ -3848,10 +3848,10 @@
SKIP_BLANKS;
}
if (check == CUR_PTR) {
+ ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseAttributeListDecl: detected internal error\n");
- ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if (attrName != NULL)
xmlFree(attrName);
if (defaultValue != NULL)
@@ -3872,10 +3872,10 @@
}
if (RAW == '>') {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attribute list declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -3949,10 +3949,10 @@
SKIP_BLANKS;
elem = xmlParseName(ctxt);
if (elem == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementMixedContentDecl : Name expected\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
xmlFreeElementContent(cur);
@@ -3972,21 +3972,21 @@
SKIP(2);
} else {
if (elem != NULL) xmlFree(elem);
+ xmlFreeElementContent(ret);
+ ctxt->errNo = XML_ERR_MIXED_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementMixedContentDecl : '|' or ')*' expected\n");
- ctxt->errNo = XML_ERR_MIXED_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- xmlFreeElementContent(ret);
return(NULL);
}
} else {
+ ctxt->errNo = XML_ERR_PCDATA_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementMixedContentDecl : '#PCDATA' expected\n");
- ctxt->errNo = XML_ERR_PCDATA_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4041,10 +4041,10 @@
} else {
elem = xmlParseName(ctxt);
if (elem == NULL) {
+ ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementChildrenContentDecl : Name or '(' expected\n");
- ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -4079,11 +4079,11 @@
* Detect "Name | Name , Name" error
*/
else if (type != CUR) {
+ ctxt->errNo = XML_ERR_SEPARATOR_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementChildrenContentDecl : '%c' expected\n",
type);
- ctxt->errNo = XML_ERR_SEPARATOR_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if ((op != NULL) && (op != ret))
@@ -4118,11 +4118,11 @@
* Detect "Name , Name | Name" error
*/
else if (type != CUR) {
+ ctxt->errNo = XML_ERR_SEPARATOR_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementChildrenContentDecl : '%c' expected\n",
type);
- ctxt->errNo = XML_ERR_SEPARATOR_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if ((op != NULL) && (op != ret) && (op != last))
@@ -4157,12 +4157,12 @@
last = NULL;
}
} else {
+ ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementChildrenContentDecl : ',' '|' or ')' expected\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_FINISHED;
if ((op != NULL) && (op != ret))
xmlFreeElementContent(op);
if ((last != NULL) && (last != ret) &&
@@ -4184,10 +4184,10 @@
} else {
elem = xmlParseName(ctxt);
if (elem == NULL) {
+ ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementChildrenContentDecl : Name or '(' expected\n");
- ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
if ((op != NULL) && (op != ret))
@@ -4260,10 +4260,10 @@
*result = NULL;
if (RAW != '(') {
+ ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementContentDecl : '(' expected\n");
- ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(-1);
@@ -4282,10 +4282,10 @@
res = XML_ELEMENT_TYPE_ELEMENT;
}
if ((ctxt->entity != NULL) && (input != ctxt->entity)) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Element content declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4323,29 +4323,29 @@
SKIP(9);
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after 'ELEMENT'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
SKIP_BLANKS;
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementDecl: no name for Element\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(-1);
}
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space required after the element name\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4373,15 +4373,15 @@
*/
if ((RAW == '%') && (ctxt->external == 0) &&
(ctxt->inputNr == 1)) {
+ ctxt->errNo = XML_ERR_PEREF_IN_INT_SUBSET;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"PEReference: forbidden within markup decl in internal subset\n");
- ctxt->errNo = XML_ERR_PEREF_IN_INT_SUBSET;
} else {
+ ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected\n");
- ctxt->errNo = XML_ERR_ELEMCONTENT_NOT_STARTED;
}
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
@@ -4398,18 +4398,18 @@
SKIP_BLANKS;
if (RAW != '>') {
+ ctxt->errNo = XML_ERR_GT_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseElementDecl: expected '>' at the end\n");
- ctxt->errNo = XML_ERR_GT_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
if (input != ctxt->input) {
+ ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Element declaration doesn't start and stop in the same entity\n");
- ctxt->errNo = XML_ERR_ENTITY_BOUNDARY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4493,10 +4493,10 @@
(NXT(4) == 'l') && (IS_BLANK(NXT(5)))) {
SKIP(5);
} else {
+ ctxt->errNo = XML_ERR_XMLDECL_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Text declaration '<?xml' required\n");
- ctxt->errNo = XML_ERR_XMLDECL_NOT_STARTED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
@@ -4504,10 +4504,10 @@
}
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Space needed after '<?xml'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4525,9 +4525,9 @@
* We must have the encoding declaration
*/
if (!IS_BLANK(CUR)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Space needed here\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4544,18 +4544,18 @@
SKIP(2);
} else if (RAW == '>') {
/* Deprecated old WD ... */
+ ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML declaration must end-up with '?>'\n");
- ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
NEXT;
} else {
+ ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"parsing XML declaration: '?>' expected\n");
- ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
MOVETO_ENDTAG(CUR_PTR);
@@ -4584,10 +4584,10 @@
SKIP(7);
SKIP_BLANKS;
if (RAW != '[') {
+ ctxt->errNo = XML_ERR_CONDSEC_INVALID;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML conditional section '[' expected\n");
- ctxt->errNo = XML_ERR_CONDSEC_INVALID;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -4623,12 +4623,12 @@
if ((CUR_PTR == check) && (cons == ctxt->input->consumed) &&
(tok == ctxt->token)) {
+ ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Content error in the external subset\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
break;
}
}
@@ -4646,10 +4646,10 @@
SKIP(6);
SKIP_BLANKS;
if (RAW != '[') {
+ ctxt->errNo = XML_ERR_CONDSEC_INVALID;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML conditional section '[' expected\n");
- ctxt->errNo = XML_ERR_CONDSEC_INVALID;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -4691,12 +4691,12 @@
if ((CUR_PTR == check) && (cons == ctxt->input->consumed) &&
(tok == ctxt->token)) {
+ ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Content error in the external subset\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
break;
}
}
@@ -4709,10 +4709,10 @@
}
} else {
+ ctxt->errNo = XML_ERR_CONDSEC_INVALID;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML conditional section INCLUDE or IGNORE keyword expected\n");
- ctxt->errNo = XML_ERR_CONDSEC_INVALID;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4721,10 +4721,10 @@
SHRINK;
if (RAW == 0) {
+ ctxt->errNo = XML_ERR_CONDSEC_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML conditional section not closed\n");
- ctxt->errNo = XML_ERR_CONDSEC_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -4793,21 +4793,21 @@
if ((CUR_PTR == check) && (cons == ctxt->input->consumed) &&
(tok == ctxt->token)) {
+ ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Content error in the external subset\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
break;
}
}
if (RAW != 0) {
+ ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
- ctxt->errNo = XML_ERR_EXT_SUBSET_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -4953,12 +4953,12 @@
"Internal: invalid entity type\n");
}
if (ret == XML_ERR_ENTITY_LOOP) {
+ ctxt->errNo = XML_ERR_ENTITY_LOOP;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Detected entity reference loop\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENTITY_LOOP;
} else if ((ret == 0) && (list != NULL)) {
if ((ent->etype == XML_INTERNAL_GENERAL_ENTITY) &&
(ent->children == NULL)) {
@@ -4973,10 +4973,10 @@
xmlFreeNodeList(list);
}
} else if (ret > 0) {
+ ctxt->errNo = ret;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity value required\n");
- ctxt->errNo = ret;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else if (list != NULL) {
@@ -5029,10 +5029,10 @@
return;
}
if (input->standalone == 1) {
+ ctxt->errNo = XML_ERR_EXT_ENTITY_STANDALONE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"external parsed entities cannot be standalone\n");
- ctxt->errNo = XML_ERR_EXT_ENTITY_STANDALONE;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5092,10 +5092,10 @@
NEXT;
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEntityRef: no name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5136,17 +5136,17 @@
if ((ctxt->standalone == 1) ||
((ctxt->hasExternalSubset == 0) &&
(ctxt->hasPErefs == 0))) {
+ ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity '%s' not defined\n", name);
- ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
+ ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
ctxt->sax->warning(ctxt->userData,
"Entity '%s' not defined\n", name);
- ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
}
}
@@ -5156,10 +5156,10 @@
* unparsed entity
*/
else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
+ ctxt->errNo = XML_ERR_UNPARSED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity reference to unparsed entity %s\n", name);
- ctxt->errNo = XML_ERR_UNPARSED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5171,10 +5171,10 @@
*/
else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
(ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
+ ctxt->errNo = XML_ERR_ENTITY_IS_EXTERNAL;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attribute references external entity '%s'\n", name);
- ctxt->errNo = XML_ERR_ENTITY_IS_EXTERNAL;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5189,10 +5189,10 @@
(xmlStrcmp(ent->name, BAD_CAST "lt")) &&
(ent->content != NULL) &&
(xmlStrchr(ent->content, '<'))) {
+ ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"'<' in entity '%s' is not allowed in attributes values\n", name);
- ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5204,10 +5204,10 @@
switch (ent->etype) {
case XML_INTERNAL_PARAMETER_ENTITY:
case XML_EXTERNAL_PARAMETER_ENTITY:
+ ctxt->errNo = XML_ERR_ENTITY_IS_PARAMETER;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attempt to reference the parameter entity '%s'\n", name);
- ctxt->errNo = XML_ERR_ENTITY_IS_PARAMETER;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
break;
@@ -5224,10 +5224,10 @@
*/
} else {
+ ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEntityRef: expecting ';'\n");
- ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5284,10 +5284,10 @@
cur = *ptr;
name = xmlParseStringName(ctxt, &ptr);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEntityRef: no name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5328,17 +5328,17 @@
if ((ctxt->standalone == 1) ||
((ctxt->hasExternalSubset == 0) &&
(ctxt->hasPErefs == 0))) {
+ ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity '%s' not defined\n", name);
- ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
+ ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->warning != NULL))
ctxt->sax->warning(ctxt->userData,
"Entity '%s' not defined\n", name);
- ctxt->errNo = XML_WAR_UNDECLARED_ENTITY;
}
}
@@ -5348,10 +5348,10 @@
* unparsed entity
*/
else if (ent->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
+ ctxt->errNo = XML_ERR_UNPARSED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Entity reference to unparsed entity %s\n", name);
- ctxt->errNo = XML_ERR_UNPARSED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5363,10 +5363,10 @@
*/
else if ((ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) &&
(ent->etype == XML_EXTERNAL_GENERAL_PARSED_ENTITY)) {
+ ctxt->errNo = XML_ERR_ENTITY_IS_EXTERNAL;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attribute references external entity '%s'\n", name);
- ctxt->errNo = XML_ERR_ENTITY_IS_EXTERNAL;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5381,10 +5381,10 @@
(xmlStrcmp(ent->name, BAD_CAST "lt")) &&
(ent->content != NULL) &&
(xmlStrchr(ent->content, '<'))) {
+ ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"'<' in entity '%s' is not allowed in attributes values\n", name);
- ctxt->errNo = XML_ERR_LT_IN_ATTRIBUTE;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5396,10 +5396,10 @@
switch (ent->etype) {
case XML_INTERNAL_PARAMETER_ENTITY:
case XML_EXTERNAL_PARAMETER_ENTITY:
+ ctxt->errNo = XML_ERR_ENTITY_IS_PARAMETER;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attempt to reference the parameter entity '%s'\n", name);
- ctxt->errNo = XML_ERR_ENTITY_IS_PARAMETER;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
break;
@@ -5416,10 +5416,10 @@
*/
} else {
+ ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEntityRef: expecting ';'\n");
- ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5469,10 +5469,10 @@
NEXT;
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParsePEReference: no name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5494,11 +5494,11 @@
if ((ctxt->standalone == 1) ||
((ctxt->hasExternalSubset == 0) &&
(ctxt->hasPErefs == 0))) {
+ ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
if ((!ctxt->disableSAX) &&
(ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"PEReference: %%%s; not found\n", name);
- ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5553,10 +5553,10 @@
}
ctxt->hasPErefs = 1;
} else {
+ ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParsePEReference: expecting ';'\n");
- ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5611,10 +5611,10 @@
cur = *ptr;
name = xmlParseStringName(ctxt, &ptr);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseStringPEReference: no name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5638,10 +5638,10 @@
if ((ctxt->standalone == 1) ||
((ctxt->hasExternalSubset == 0) &&
(ctxt->hasPErefs == 0))) {
+ ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"PEReference: %%%s; not found\n", name);
- ctxt->errNo = XML_ERR_UNDECLARED_ENTITY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else {
@@ -5670,10 +5670,10 @@
}
ctxt->hasPErefs = 1;
} else {
+ ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseStringPEReference: expecting ';'\n");
- ctxt->errNo = XML_ERR_ENTITYREF_SEMICOL_MISSING;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5716,12 +5716,12 @@
*/
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseDocTypeDecl : no DOCTYPE name !\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
}
ctxt->intSubName = name;
@@ -5758,11 +5758,11 @@
* We should be at the end of the DOCTYPE declaration.
*/
if (RAW != '>') {
+ ctxt->errNo = XML_ERR_DOCTYPE_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "DOCTYPE unproperly terminated\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_DOCTYPE_NOT_FINISHED;
}
NEXT;
}
@@ -5804,12 +5804,12 @@
xmlPopInput(ctxt);
if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
+ ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseInternalSubset: error detected in Markup declaration\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_INTERNAL_ERROR;
break;
}
}
@@ -5823,11 +5823,11 @@
* We should be at the end of the DOCTYPE declaration.
*/
if (RAW != '>') {
+ ctxt->errNo = XML_ERR_DOCTYPE_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "DOCTYPE unproperly terminated\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_DOCTYPE_NOT_FINISHED;
}
NEXT;
}
@@ -5872,11 +5872,11 @@
*value = NULL;
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "error parsing attribute name\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
return(NULL);
}
@@ -5890,10 +5890,10 @@
val = xmlParseAttValue(ctxt);
ctxt->instate = XML_PARSER_CONTENT;
} else {
+ ctxt->errNo = XML_ERR_ATTRIBUTE_WITHOUT_VALUE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Specification mandate value for attribute %s\n", name);
- ctxt->errNo = XML_ERR_ATTRIBUTE_WITHOUT_VALUE;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
xmlFree(name);
@@ -5922,11 +5922,11 @@
else if (!xmlStrcmp(val, BAD_CAST "preserve"))
*(ctxt->space) = 1;
else {
+ ctxt->errNo = XML_ERR_ATTRIBUTE_WITHOUT_VALUE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Invalid value for xml:space : \"%s\", \"default\" or \"preserve\" expected\n",
val);
- ctxt->errNo = XML_ERR_ATTRIBUTE_WITHOUT_VALUE;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -5979,10 +5979,10 @@
name = xmlParseName(ctxt);
if (name == NULL) {
+ ctxt->errNo = XML_ERR_NAME_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseStartTag: invalid element name\n");
- ctxt->errNo = XML_ERR_NAME_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(NULL);
@@ -6011,13 +6011,13 @@
*/
for (i = 0; i < nbatts;i += 2) {
if (!xmlStrcmp(atts[i], attname)) {
+ ctxt->errNo = XML_ERR_ATTRIBUTE_REDEFINED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Attribute %s redefined\n",
attname);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ATTRIBUTE_REDEFINED;
xmlFree(attname);
xmlFree(attvalue);
goto failed;
@@ -6061,19 +6061,19 @@
if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
break;
if (!IS_BLANK(RAW)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"attributes construct error\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
SKIP_BLANKS;
if ((cons == ctxt->input->consumed) && (q == CUR_PTR)) {
+ ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseStartTag: problem parsing attributes\n");
- ctxt->errNo = XML_ERR_INTERNAL_ERROR;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
break;
@@ -6115,11 +6115,11 @@
GROW;
if ((RAW != '<') || (NXT(1) != '/')) {
+ ctxt->errNo = XML_ERR_LTSLASH_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "xmlParseEndTag: '</' not found\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_LTSLASH_REQUIRED;
return;
}
SKIP(2);
@@ -6132,9 +6132,9 @@
GROW;
SKIP_BLANKS;
if ((!IS_CHAR(RAW)) || (RAW != '>')) {
+ ctxt->errNo = XML_ERR_GT_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "End tag : expected '>'\n");
- ctxt->errNo = XML_ERR_GT_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else
@@ -6148,6 +6148,7 @@
*/
if ((name == NULL) || (ctxt->name == NULL) ||
(xmlStrcmp(name, ctxt->name))) {
+ ctxt->errNo = XML_ERR_TAG_NAME_MISMATCH;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL)) {
if ((name != NULL) && (ctxt->name != NULL)) {
ctxt->sax->error(ctxt->userData,
@@ -6162,7 +6163,6 @@
}
}
- ctxt->errNo = XML_ERR_TAG_NAME_MISMATCH;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -6222,22 +6222,22 @@
ctxt->instate = XML_PARSER_CDATA_SECTION;
r = CUR_CHAR(rl);
if (!IS_CHAR(r)) {
+ ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"CData section not finished\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
ctxt->instate = XML_PARSER_CONTENT;
return;
}
NEXTL(rl);
s = CUR_CHAR(sl);
if (!IS_CHAR(s)) {
+ ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"CData section not finished\n");
- ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_CONTENT;
@@ -6271,10 +6271,10 @@
buf[len] = 0;
ctxt->instate = XML_PARSER_CONTENT;
if (cur != '>') {
+ ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"CData section not finished\n%.50s\n", buf);
- ctxt->errNo = XML_ERR_CDATA_NOT_FINISHED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
xmlFree(buf);
@@ -6376,10 +6376,10 @@
if ((cons == ctxt->input->consumed) && (test == CUR_PTR) &&
(tok == ctxt->token)) {
+ ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"detected an error in element content\n");
- ctxt->errNo = XML_ERR_INTERNAL_ERROR;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_EOF;
@@ -6479,13 +6479,13 @@
if (RAW == '>') {
NEXT;
} else {
+ ctxt->errNo = XML_ERR_GT_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Couldn't find end of Start Tag\n%.30s\n",
openTag);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_GT_REQUIRED;
/*
* end of parsing of this node.
@@ -6518,12 +6518,12 @@
*/
xmlParseContent(ctxt);
if (!IS_CHAR(RAW)) {
+ ctxt->errNo = XML_ERR_TAG_NOT_FINISED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Premature end of data in tag %.30s\n", openTag);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_TAG_NOT_FINISED;
/*
* end of parsing of this node.
@@ -6626,12 +6626,12 @@
SKIP(7);
SKIP_BLANKS;
if (RAW != '=') {
+ ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseVersionInfo : expected '='\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
return(NULL);
}
NEXT;
@@ -6641,12 +6641,12 @@
q = CUR_PTR;
version = xmlParseVersionNum(ctxt);
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%.50s\n", q);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
} else
NEXT;
} else if (RAW == '\''){
@@ -6654,21 +6654,21 @@
q = CUR_PTR;
version = xmlParseVersionNum(ctxt);
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%.50s\n", q);
- ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else
NEXT;
} else {
+ ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseVersionInfo : expected ' or \"\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
}
}
return(version);
@@ -6727,11 +6727,11 @@
}
buf[len] = 0;
} else {
+ ctxt->errNo = XML_ERR_ENCODING_NAME;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Invalid XML encoding name\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_ENCODING_NAME;
}
return(buf);
}
@@ -6762,12 +6762,12 @@
SKIP(8);
SKIP_BLANKS;
if (RAW != '=') {
+ ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEncodingDecl : expected '='\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
return(NULL);
}
NEXT;
@@ -6777,12 +6777,12 @@
q = CUR_PTR;
encoding = xmlParseEncName(ctxt);
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%.50s\n", q);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
} else
NEXT;
} else if (RAW == '\''){
@@ -6790,21 +6790,21 @@
q = CUR_PTR;
encoding = xmlParseEncName(ctxt);
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%.50s\n", q);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
} else
NEXT;
} else if (RAW == '"'){
+ ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"xmlParseEncodingDecl : expected ' or \"\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
}
if (encoding != NULL) {
xmlCharEncoding enc;
@@ -6883,10 +6883,10 @@
SKIP(10);
SKIP_BLANKS;
if (RAW != '=') {
+ ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML standalone declaration : expected '='\n");
- ctxt->errNo = XML_ERR_EQUAL_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
return(standalone);
@@ -6903,17 +6903,17 @@
standalone = 1;
SKIP(3);
} else {
+ ctxt->errNo = XML_ERR_STANDALONE_VALUE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"standalone accepts only 'yes' or 'no'\n");
- ctxt->errNo = XML_ERR_STANDALONE_VALUE;
ctxt->wellFormed = 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->errNo = XML_ERR_STRING_NOT_CLOSED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
} else
@@ -6928,28 +6928,28 @@
standalone = 1;
SKIP(3);
} else {
+ ctxt->errNo = XML_ERR_STANDALONE_VALUE;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"standalone accepts only 'yes' or 'no'\n");
- ctxt->errNo = XML_ERR_STANDALONE_VALUE;
ctxt->wellFormed = 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;
- ctxt->errNo = XML_ERR_STRING_NOT_CLOSED;
} else
NEXT;
} else {
+ ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Standalone value not found\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_STRING_NOT_STARTED;
}
}
return(standalone);
@@ -6974,9 +6974,9 @@
SKIP(5);
if (!IS_BLANK(RAW)) {
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Blank needed after '<?xml'\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -6999,9 +6999,9 @@
SKIP(2);
return;
}
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Blank needed here\n");
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -7021,11 +7021,11 @@
SKIP(2);
return;
}
+ ctxt->errNo = XML_ERR_SPACE_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Blank needed here\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_SPACE_REQUIRED;
}
SKIP_BLANKS;
ctxt->input->standalone = xmlParseSDDecl(ctxt);
@@ -7035,20 +7035,20 @@
SKIP(2);
} else if (RAW == '>') {
/* Deprecated old WD ... */
+ ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"XML declaration must end-up with '?>'\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
NEXT;
} else {
+ ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"parsing XML declaration: '?>' expected\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_XMLDECL_NOT_FINISHED;
MOVETO_ENDTAG(CUR_PTR);
NEXT;
}
@@ -7124,9 +7124,9 @@
if (CUR == 0) {
+ ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Document is empty\n");
- ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -7201,10 +7201,10 @@
*/
GROW;
if (RAW != '<') {
+ ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Start tag expected, '<' not found\n");
- ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_EOF;
@@ -7220,12 +7220,12 @@
xmlParseMisc(ctxt);
if (RAW != 0) {
+ ctxt->errNo = XML_ERR_DOCUMENT_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_DOCUMENT_END;
}
ctxt->instate = XML_PARSER_EOF;
}
@@ -7286,9 +7286,9 @@
if (CUR == 0) {
+ ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Document is empty\n");
- ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
}
@@ -7328,19 +7328,19 @@
xmlParseContent(ctxt);
if ((RAW == '<') && (NXT(1) == '/')) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
} 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;
- ctxt->errNo = XML_ERR_EXTRA_CONTENT;
}
/*
@@ -7513,10 +7513,10 @@
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData,
&xmlDefaultSAXLocator);
+ ctxt->errNo = XML_ERR_DOCUMENT_START;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra spaces at the beginning of the document are not allowed\n");
- ctxt->errNo = XML_ERR_DOCUMENT_START;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
SKIP_BLANKS;
@@ -7535,9 +7535,9 @@
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
ctxt->sax->setDocumentLocator(ctxt->userData,
&xmlDefaultSAXLocator);
+ ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData, "Document is empty\n");
- ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_EOF;
@@ -7752,12 +7752,12 @@
(avail < 4)) {
goto done;
} else {
+ ctxt->errNo = XML_ERR_DOCUMENT_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_DOCUMENT_END;
ctxt->instate = XML_PARSER_EOF;
#ifdef DEBUG_PUSH
fprintf(stderr, "PP: entering EOF\n");
@@ -7775,10 +7775,10 @@
goto done;
cur = ctxt->input->cur[0];
if (cur != '<') {
+ ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Start tag expect, '<' not found\n");
- ctxt->errNo = XML_ERR_DOCUMENT_EMPTY;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_EOF;
@@ -7853,13 +7853,13 @@
if (RAW == '>') {
NEXT;
} else {
+ ctxt->errNo = XML_ERR_GT_REQUIRED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Couldn't find end of Start Tag %s\n",
name);
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_GT_REQUIRED;
/*
* end of parsing of this node.
@@ -7990,10 +7990,10 @@
xmlPopInput(ctxt);
if ((cons == ctxt->input->consumed) && (test == CUR_PTR) &&
(tok == ctxt->token)) {
+ ctxt->errNo = XML_ERR_INTERNAL_ERROR;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"detected an error in element content\n");
- ctxt->errNo = XML_ERR_INTERNAL_ERROR;
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
ctxt->instate = XML_PARSER_EOF;
@@ -8234,12 +8234,12 @@
*/
if ((ctxt->instate != XML_PARSER_EOF) &&
(ctxt->instate != XML_PARSER_EPILOG)) {
+ ctxt->errNo = XML_ERR_DOCUMENT_END;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"Extra content at the end of the document\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_DOCUMENT_END;
}
if (ctxt->instate != XML_PARSER_EOF) {
if ((ctxt->sax) && (ctxt->sax->endDocument != NULL) &&
@@ -8708,27 +8708,27 @@
xmlParseContent(ctxt);
if ((RAW == '<') && (NXT(1) == '/')) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
} 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;
- ctxt->errNo = XML_ERR_EXTRA_CONTENT;
}
if (ctxt->node != newDoc->children) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
}
if (!ctxt->wellFormed) {
@@ -8864,27 +8864,27 @@
xmlParseContent(ctxt);
if ((RAW == '<') && (NXT(1) == '/')) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
} 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;
- ctxt->errNo = XML_ERR_EXTRA_CONTENT;
}
if (ctxt->node != newDoc->children) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
}
if (!ctxt->wellFormed) {
@@ -9007,27 +9007,27 @@
xmlParseContent(ctxt);
if ((RAW == '<') && (NXT(1) == '/')) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
} 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;
- ctxt->errNo = XML_ERR_EXTRA_CONTENT;
}
if (ctxt->node != newDoc->children) {
+ ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
ctxt->sax->error(ctxt->userData,
"chunk is not well balanced\n");
ctxt->wellFormed = 0;
ctxt->disableSAX = 1;
- ctxt->errNo = XML_ERR_NOT_WELL_BALANCED;
}
if (!ctxt->wellFormed) {