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
diff --git a/ChangeLog b/ChangeLog
index 522015d..0fbc0eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Feb 27 22:28:40 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+ * 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 <daniel@veillard.com>
* check-xsddata-test-suite.py test/xsdtest/xsdtest.xml
diff --git a/check-xsddata-test-suite.py b/check-xsddata-test-suite.py
index b0c63e1..ffe944a 100755
--- a/check-xsddata-test-suite.py
+++ b/check-xsddata-test-suite.py
@@ -293,13 +293,12 @@
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 @@
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 ff11f3e..018c1c7 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -4370,12 +4370,6 @@
"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 @@
"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 @@
}
break;
}
+ case XML_RELAXNG_DEF:
case XML_RELAXNG_GROUP: {
xmlRelaxNGDefinePtr list;
@@ -6273,6 +6274,10 @@
}
break;
}
+ case XML_RELAXNG_REF:
+ case XML_RELAXNG_PARENTREF:
+ ret = xmlRelaxNGValidateValue(ctxt, define->content);
+ break;
default:
TODO
ret = -1;