From 463a5479a825acf0df4501446d4dcd6b10f7e248 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 27 Feb 2003 21:30:32 +0000 Subject: [PATCH] give more infos fix a bug reported by Sebastian Rahtz and REF->DEF in * check-xsddata-test-suite.py: give more infos * relaxng.c: fix a bug reported by Sebastian Rahtz and REF->DEF in attribute values. Daniel --- ChangeLog | 6 +++++ check-xsddata-test-suite.py | 46 ++++++++++++++----------------------- relaxng.c | 17 +++++++++----- 3 files changed, 34 insertions(+), 35 deletions(-) diff --git a/ChangeLog b/ChangeLog index 522015d7..0fbc0eb2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Feb 27 22:28:40 CET 2003 Daniel Veillard + + * check-xsddata-test-suite.py: give more infos + * relaxng.c: fix a bug reported by Sebastian Rahtz and + REF->DEF in attribute values. + Thu Feb 27 21:09:32 CET 2003 Daniel Veillard * check-xsddata-test-suite.py test/xsdtest/xsdtest.xml diff --git a/check-xsddata-test-suite.py b/check-xsddata-test-suite.py index b0c63e11..ffe944aa 100755 --- a/check-xsddata-test-suite.py +++ b/check-xsddata-test-suite.py @@ -293,13 +293,12 @@ def handle_testCase(node): def handle_testSuite(node, level = 0): global nb_schemas_tests, nb_schemas_success, nb_schemas_failed global nb_instances_tests, nb_instances_success, nb_instances_failed - if level >= 1: - old_schemas_tests = nb_schemas_tests - old_schemas_success = nb_schemas_success - old_schemas_failed = nb_schemas_failed - old_instances_tests = nb_instances_tests - old_instances_success = nb_instances_success - old_instances_failed = nb_instances_failed + old_schemas_tests = nb_schemas_tests + old_schemas_success = nb_schemas_success + old_schemas_failed = nb_schemas_failed + old_instances_tests = nb_instances_tests + old_instances_success = nb_instances_success + old_instances_failed = nb_instances_failed docs = node.xpathEval('documentation') authors = node.xpathEval('author') @@ -312,33 +311,22 @@ def handle_testSuite(node, level = 0): for author in authors: msg = msg + author.content + " " print msg - sections = node.xpathEval('section') - if sections != [] and level <= 0: - msg = "" - for section in sections: - msg = msg + section.content + " " - print "Tests for section %s" % (msg) for test in node.xpathEval('testCase'): handle_testCase(test) for test in node.xpathEval('testSuite'): handle_testSuite(test, level + 1) - - if level >= 1 and sections != []: - msg = "" - for section in sections: - msg = msg + section.content + " " - print "Result of tests for section %s" % (msg) - if nb_schemas_tests != old_schemas_tests: - print "found %d test schemas: %d success %d failures" % ( - nb_schemas_tests - old_schemas_tests, - nb_schemas_success - old_schemas_success, - nb_schemas_failed - old_schemas_failed) - if nb_instances_tests != old_instances_tests: - print "found %d test instances: %d success %d failures" % ( - nb_instances_tests - old_instances_tests, - nb_instances_success - old_instances_success, - nb_instances_failed - old_instances_failed) + print "Result of tests for %s" % (node.xpathEval('string(documentation)')) + if nb_schemas_tests != old_schemas_tests: + print "found %d test schemas: %d success %d failures" % ( + nb_schemas_tests - old_schemas_tests, + nb_schemas_success - old_schemas_success, + nb_schemas_failed - old_schemas_failed) + if nb_instances_tests != old_instances_tests: + print "found %d test instances: %d success %d failures" % ( + nb_instances_tests - old_instances_tests, + nb_instances_success - old_instances_success, + nb_instances_failed - old_instances_failed) # # Parse the conf file # diff --git a/relaxng.c b/relaxng.c index ff11f3ec..018c1c77 100644 --- a/relaxng.c +++ b/relaxng.c @@ -4370,12 +4370,6 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt, "Found forbidden pattern list//ref\n"); ctxt->nbErrors++; } - if (flags & XML_RELAXNG_IN_ATTRIBUTE) { - if (ctxt->error != NULL) - ctxt->error(ctxt->userData, - "Found forbidden pattern attribute//ref\n"); - ctxt->nbErrors++; - } if (flags & XML_RELAXNG_IN_DATAEXCEPT) { if (ctxt->error != NULL) ctxt->error(ctxt->userData, @@ -4415,6 +4409,12 @@ xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt, "Found forbidden pattern attribute//element(ref)\n"); ctxt->nbErrors++; } + if (flags & XML_RELAXNG_IN_ATTRIBUTE) { + if (ctxt->error != NULL) + ctxt->error(ctxt->userData, + "Found forbidden pattern attribute//element(ref)\n"); + ctxt->nbErrors++; + } /* * reset since in the simple form elements are only child * of grammar/define @@ -6258,6 +6258,7 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, } break; } + case XML_RELAXNG_DEF: case XML_RELAXNG_GROUP: { xmlRelaxNGDefinePtr list; @@ -6273,6 +6274,10 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, } break; } + case XML_RELAXNG_REF: + case XML_RELAXNG_PARENTREF: + ret = xmlRelaxNGValidateValue(ctxt, define->content); + break; default: TODO ret = -1;