debugging of externalRef augmented/updated the regression tests Daniel
* relaxng.c: debugging of externalRef
* test/relaxng/* result/relaxng/*: augmented/updated the
regression tests
Daniel
diff --git a/ChangeLog b/ChangeLog
index dc84fcd..fef2662 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Jan 29 23:44:58 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+ * relaxng.c: debugging of externalRef
+ * test/relaxng/* result/relaxng/*: augmented/updated the
+ regression tests
+
Wed Jan 29 22:06:04 CET 2003 Daniel Veillard <daniel@veillard.com>
* relaxng.c: more work on Relax-NG, implementing externalRef
diff --git a/relaxng.c b/relaxng.c
index 9b553b1..85c49a0 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -2703,6 +2703,7 @@
xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) {
xmlRelaxNGPtr schema = NULL;
const xmlChar *olddefine;
+ xmlRelaxNGGrammarPtr old;
if ((ctxt == NULL) || (node == NULL))
return (NULL);
@@ -2721,8 +2722,11 @@
return(schema);
}
schema->topgrammar->parent = NULL;
+ old = ctxt->grammar;
ctxt->grammar = schema->topgrammar;
xmlRelaxNGParseStart(ctxt, node);
+ if (old != NULL)
+ ctxt->grammar = old;
}
ctxt->define = olddefine;
@@ -3318,8 +3322,12 @@
xmlRelaxNGDumpDefines(output, define->content);
fprintf(output, "</ref>\n");
break;
- case XML_RELAXNG_DATATYPE:
case XML_RELAXNG_EXTERNALREF:
+ fprintf(output, "<externalRef");
+ xmlRelaxNGDumpDefines(output, define->content);
+ fprintf(output, "</externalRef>\n");
+ break;
+ case XML_RELAXNG_DATATYPE:
case XML_RELAXNG_VALUE:
TODO
break;
diff --git a/result/relaxng/tutor3_2_1.err b/result/relaxng/tutor3_2_1.err
index 0e6dc04..bb09dbc 100644
--- a/result/relaxng/tutor3_2_1.err
+++ b/result/relaxng/tutor3_2_1.err
@@ -1,3 +1,3 @@
-error detected at relaxng.c:4252
-error detected at relaxng.c:4300
+error detected at relaxng.c:4260
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated card : -1
diff --git a/result/relaxng/tutor3_5_2.err b/result/relaxng/tutor3_5_2.err
index bddb830..3b9d5ea 100644
--- a/result/relaxng/tutor3_5_2.err
+++ b/result/relaxng/tutor3_5_2.err
@@ -1,5 +1,5 @@
xmlRelaxNGValidateAttribute(name): -1
xmlRelaxNGValidateDefinition(): validated email : 0
xmlRelaxNGValidateDefinition(): validated card : -1
-error detected at relaxng.c:4300
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated addressBook : -1
diff --git a/result/relaxng/tutor5_3_1.err b/result/relaxng/tutor5_3_1.err
index 16bccbc..7c13c3c 100644
--- a/result/relaxng/tutor5_3_1.err
+++ b/result/relaxng/tutor5_3_1.err
@@ -1,3 +1,3 @@
-error detected at relaxng.c:4431
+error detected at relaxng.c:4439
xmlRelaxNGValidateDefinition(): validated note : 0
xmlRelaxNGValidateDefinition(): validated bad : -1
diff --git a/result/relaxng/tutor6_1_3.err b/result/relaxng/tutor6_1_3.err
index 8cfe317..722275e 100644
--- a/result/relaxng/tutor6_1_3.err
+++ b/result/relaxng/tutor6_1_3.err
@@ -1,5 +1,5 @@
xmlRelaxNGValidateAttribute(preferredFormat): -1
xmlRelaxNGValidateAttribute(email): 0
xmlRelaxNGValidateAttribute(name): 0
-error detected at relaxng.c:4308
+error detected at relaxng.c:4316
xmlRelaxNGValidateDefinition(): validated card : -1
diff --git a/result/relaxng/tutor6_2_4.err b/result/relaxng/tutor6_2_4.err
index 37ab62b..86b2dbb 100644
--- a/result/relaxng/tutor6_2_4.err
+++ b/result/relaxng/tutor6_2_4.err
@@ -1,5 +1,5 @@
xmlRelaxNGValidateDefinition(): validated name : 0
xmlRelaxNGValidateDefinition(): validated email : 0
-error detected at relaxng.c:4300
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated preferredFormat : -1
xmlRelaxNGValidateDefinition(): validated card : -1
diff --git a/result/relaxng/tutor6_3_1.err b/result/relaxng/tutor6_3_1.err
index 8cfe317..722275e 100644
--- a/result/relaxng/tutor6_3_1.err
+++ b/result/relaxng/tutor6_3_1.err
@@ -1,5 +1,5 @@
xmlRelaxNGValidateAttribute(preferredFormat): -1
xmlRelaxNGValidateAttribute(email): 0
xmlRelaxNGValidateAttribute(name): 0
-error detected at relaxng.c:4308
+error detected at relaxng.c:4316
xmlRelaxNGValidateDefinition(): validated card : -1
diff --git a/result/relaxng/tutor7_1_2.err b/result/relaxng/tutor7_1_2.err
index 1a7a9a1..472f0e6 100644
--- a/result/relaxng/tutor7_1_2.err
+++ b/result/relaxng/tutor7_1_2.err
@@ -1,5 +1,5 @@
Unimplemented block at xmlschemastypes.c:1132
-error detected at relaxng.c:3510
-error detected at relaxng.c:4485
-error detected at relaxng.c:4300
+error detected at relaxng.c:3518
+error detected at relaxng.c:4493
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated vector : -1
diff --git a/result/relaxng/tutor7_1_3.err b/result/relaxng/tutor7_1_3.err
index 9fc66d8..095756e 100644
--- a/result/relaxng/tutor7_1_3.err
+++ b/result/relaxng/tutor7_1_3.err
@@ -1,6 +1,6 @@
Unimplemented block at xmlschemastypes.c:1132
Unimplemented block at xmlschemastypes.c:1132
-error detected at relaxng.c:3698
-error detected at relaxng.c:4485
-error detected at relaxng.c:4300
+error detected at relaxng.c:3706
+error detected at relaxng.c:4493
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated vector : -1
diff --git a/result/relaxng/tutor7_2_4.err b/result/relaxng/tutor7_2_4.err
index cc02874..edb18a4 100644
--- a/result/relaxng/tutor7_2_4.err
+++ b/result/relaxng/tutor7_2_4.err
@@ -1,3 +1,3 @@
-error detected at relaxng.c:3673
-error detected at relaxng.c:4485
+error detected at relaxng.c:3681
+error detected at relaxng.c:4493
xmlRelaxNGValidateDefinition(): validated vector : -1
diff --git a/result/relaxng/tutor7_3_4.err b/result/relaxng/tutor7_3_4.err
index 77a97b1..e955ba5 100644
--- a/result/relaxng/tutor7_3_4.err
+++ b/result/relaxng/tutor7_3_4.err
@@ -1,7 +1,7 @@
Unimplemented block at xmlschemastypes.c:1135
Unimplemented block at xmlschemastypes.c:1135
Unimplemented block at xmlschemastypes.c:1135
-error detected at relaxng.c:3698
-error detected at relaxng.c:4485
-error detected at relaxng.c:4300
+error detected at relaxng.c:3706
+error detected at relaxng.c:4493
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated path : -1
diff --git a/result/relaxng/tutor7_3_5.err b/result/relaxng/tutor7_3_5.err
index b33e88d..b0622fe 100644
--- a/result/relaxng/tutor7_3_5.err
+++ b/result/relaxng/tutor7_3_5.err
@@ -1,5 +1,5 @@
Unimplemented block at xmlschemastypes.c:1135
-error detected at relaxng.c:3510
-error detected at relaxng.c:4485
-error detected at relaxng.c:4300
+error detected at relaxng.c:3518
+error detected at relaxng.c:4493
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated path : -1
diff --git a/result/relaxng/tutor8_2_4.err b/result/relaxng/tutor8_2_4.err
index a23a6fe..e4d178a 100644
--- a/result/relaxng/tutor8_2_4.err
+++ b/result/relaxng/tutor8_2_4.err
@@ -3,5 +3,5 @@
6 groups
xmlRelaxNGValidateDefinition(): validated title : 0
xmlRelaxNGValidateDefinition(): validated title : 0
-error detected at relaxng.c:4300
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated head : -1
diff --git a/result/relaxng/tutor8_2_5.err b/result/relaxng/tutor8_2_5.err
index 7a12268..1ddcbe6 100644
--- a/result/relaxng/tutor8_2_5.err
+++ b/result/relaxng/tutor8_2_5.err
@@ -1,6 +1,6 @@
xmlRelaxNGComputeInterleaves(interleave0)
6 child
6 groups
-error detected at relaxng.c:4246
-error detected at relaxng.c:4300
+error detected at relaxng.c:4254
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated head : -1
diff --git a/result/relaxng/tutor8_2_6.err b/result/relaxng/tutor8_2_6.err
index 7fe125a..e4b1e12 100644
--- a/result/relaxng/tutor8_2_6.err
+++ b/result/relaxng/tutor8_2_6.err
@@ -4,5 +4,5 @@
xmlRelaxNGValidateDefinition(): validated title : 0
xmlRelaxNGValidateDefinition(): validated base : 0
xmlRelaxNGValidateDefinition(): validated base : 0
-error detected at relaxng.c:4300
+error detected at relaxng.c:4308
xmlRelaxNGValidateDefinition(): validated head : -1
diff --git a/result/relaxng/tutor9_2_1 b/result/relaxng/tutor9_2_1
new file mode 100644
index 0000000..fc174ff
--- /dev/null
+++ b/result/relaxng/tutor9_2_1
@@ -0,0 +1 @@
+./test/relaxng/tutor9_2_1.xml validates
diff --git a/result/relaxng/tutor9_2_1.err b/result/relaxng/tutor9_2_1.err
new file mode 100644
index 0000000..73dc09e
--- /dev/null
+++ b/result/relaxng/tutor9_2_1.err
@@ -0,0 +1,3 @@
+xmlRelaxNGValidateDefinition(): validated a : 0
+xmlRelaxNGValidateDefinition(): validated b : 0
+xmlRelaxNGValidateDefinition(): validated data : 0
diff --git a/result/relaxng/tutor9_2_2 b/result/relaxng/tutor9_2_2
new file mode 100644
index 0000000..a07aa0d
--- /dev/null
+++ b/result/relaxng/tutor9_2_2
@@ -0,0 +1 @@
+./test/relaxng/tutor9_2_2.xml validates
diff --git a/result/relaxng/tutor9_2_2.err b/result/relaxng/tutor9_2_2.err
new file mode 100644
index 0000000..73dc09e
--- /dev/null
+++ b/result/relaxng/tutor9_2_2.err
@@ -0,0 +1,3 @@
+xmlRelaxNGValidateDefinition(): validated a : 0
+xmlRelaxNGValidateDefinition(): validated b : 0
+xmlRelaxNGValidateDefinition(): validated data : 0
diff --git a/test/relaxng/tutor9_2.rng b/test/relaxng/tutor9_2.rng
new file mode 100644
index 0000000..cb434bd
--- /dev/null
+++ b/test/relaxng/tutor9_2.rng
@@ -0,0 +1,7 @@
+<element name="data" xmlns="http://relaxng.org/ns/structure/1.0">
+ <choice>
+ <externalRef href="pattern1.rng"/>
+ <externalRef href="pattern2.rng"/>
+ </choice>
+</element>
+
diff --git a/test/relaxng/tutor9_2_1.xml b/test/relaxng/tutor9_2_1.xml
new file mode 100644
index 0000000..2ca54ee
--- /dev/null
+++ b/test/relaxng/tutor9_2_1.xml
@@ -0,0 +1,4 @@
+<data>
+ <a>a</a>
+ <b>a</b>
+</data>
diff --git a/test/relaxng/tutor9_2_2.xml b/test/relaxng/tutor9_2_2.xml
new file mode 100644
index 0000000..2ca54ee
--- /dev/null
+++ b/test/relaxng/tutor9_2_2.xml
@@ -0,0 +1,4 @@
+<data>
+ <a>a</a>
+ <b>a</b>
+</data>