1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-30 22:43:14 +03:00

in case of content model validity error, don't print it if validity

* valid.c: in case of content model validity error, don't
  print it if validity warnings were not requested.
Daniel
This commit is contained in:
Daniel Veillard
2001-11-20 09:37:09 +00:00
parent c69e0b1760
commit b4545fd68f
2 changed files with 33 additions and 17 deletions

45
valid.c
View File

@ -3404,7 +3404,7 @@ xmlValidateSkipIgnorable(xmlNodePtr child) {
static int
xmlValidateElementType(xmlValidCtxtPtr ctxt) {
int ret = -1, tmp;
int ret = -1;
int determinist = 1;
NODE = xmlValidateSkipIgnorable(NODE);
@ -3973,25 +3973,36 @@ xmlValidateElementContent(xmlValidCtxtPtr ctxt, xmlNodePtr child,
ret = xmlValidateElementType(ctxt);
}
if ((warn) && ((ret != 1) && (ret != -3))) {
char expr[5000];
char list[5000];
if ((ctxt != NULL) && (ctxt->warning != NULL)) {
char expr[5000];
char list[5000];
expr[0] = 0;
xmlSnprintfElementContent(expr, 5000, cont, 1);
list[0] = 0;
if (repl != NULL)
xmlSnprintfElements(list, 5000, repl, 1);
else
xmlSnprintfElements(list, 5000, child, 1);
expr[0] = 0;
xmlSnprintfElementContent(expr, 5000, cont, 1);
list[0] = 0;
if (repl != NULL)
xmlSnprintfElements(list, 5000, repl, 1);
else
xmlSnprintfElements(list, 5000, child, 1);
if (name != NULL) {
VERROR(ctxt->userData,
"Element %s content doesn't follow the Dtd\nExpecting %s, got %s\n",
name, expr, list);
if (name != NULL) {
VERROR(ctxt->userData,
"Element %s content doesn't follow the Dtd\nExpecting %s, got %s\n",
name, expr, list);
} else {
VERROR(ctxt->userData,
"Element content doesn't follow the Dtd\nExpecting %s, got %s\n",
expr, list);
}
} else {
VERROR(ctxt->userData,
"Element content doesn't follow the Dtd\nExpecting %s, got %s\n",
expr, list);
if (name != NULL) {
VERROR(ctxt->userData,
"Element %s content doesn't follow the Dtd\n",
name);
} else {
VERROR(ctxt->userData,
"Element content doesn't follow the Dtd\n");
}
}
ret = 0;
}