aboutsummaryrefslogtreecommitdiffstats
path: root/valid.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2001-11-20 09:37:09 +0000
committerDaniel Veillard <veillard@src.gnome.org>2001-11-20 09:37:09 +0000
commitb4545fd68fd9308a7b5e281154b67068941192ab (patch)
treedcbc5755e528f5f20fe9c5b112bd5dc3f95b43b0 /valid.c
parentc69e0b17608f92c281ba89a49af6339ed09507ca (diff)
downloadandroid_external_libxml2-b4545fd68fd9308a7b5e281154b67068941192ab.tar.gz
android_external_libxml2-b4545fd68fd9308a7b5e281154b67068941192ab.tar.bz2
android_external_libxml2-b4545fd68fd9308a7b5e281154b67068941192ab.zip
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
Diffstat (limited to 'valid.c')
-rw-r--r--valid.c49
1 files changed, 30 insertions, 19 deletions
diff --git a/valid.c b/valid.c
index 6d02260f..69584d3c 100644
--- a/valid.c
+++ b/valid.c
@@ -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];
-
- 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 ((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);
+
+ 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;
}