diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | relaxng.c | 2 | ||||
-rw-r--r-- | result/relaxng/307377_0 | 0 | ||||
-rw-r--r-- | result/relaxng/307377_0.err | 2 | ||||
-rw-r--r-- | result/relaxng/307377_1 | 0 | ||||
-rw-r--r-- | result/relaxng/307377_1.err | 3 | ||||
-rw-r--r-- | result/relaxng/307377_2 | 0 | ||||
-rw-r--r-- | result/relaxng/307377_2.err | 1 | ||||
-rw-r--r-- | result/relaxng/307377_err | 1 | ||||
-rw-r--r-- | result/relaxng/307377_valid | 0 | ||||
-rw-r--r-- | runtest.c | 2 | ||||
-rw-r--r-- | test/relaxng/307377.rng | 14 | ||||
-rw-r--r-- | test/relaxng/307377_0.xml | 1 | ||||
-rw-r--r-- | test/relaxng/307377_1.xml | 1 | ||||
-rw-r--r-- | test/relaxng/307377_2.xml | 1 |
16 files changed, 34 insertions, 4 deletions
@@ -1,3 +1,11 @@ +Wed Aug 10 18:21:41 CEST 2005 Daniel Veillard <daniel@veillard.com> + + * relaxng.c: fixed bug #307377 about validation of choices in + list values. + * test/relaxng/307377* result/relaxng/307377* Makefile.am runtest.c: + added examples to the regression tests, problem is that streaming + version gives slightly more informations. + Wed Aug 10 15:25:53 CEST 2005 Daniel Veillard <daniel@veillard.com> * xinclude.c: fixed bug #302302, nasty but the fix is rather simple. diff --git a/Makefile.am b/Makefile.am index 6600f689..e1147b9d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -998,7 +998,7 @@ Relaxtests: xmllint$(EXEEXT) > res.$$name 2> err.$$name;\ grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\ - if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" ] ; then \ + if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" ] ; then \ diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \ err.$$name | grep -v "error detected at";\ fi ; grep Unimplemented err.$$name`; \ @@ -8638,8 +8638,6 @@ xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, if (ctxt->errNr > 0) xmlRelaxNGPopErrors(ctxt, 0); } - if (ret == 0) - xmlRelaxNGNextValue(ctxt); break; } case XML_RELAXNG_LIST:{ diff --git a/result/relaxng/307377_0 b/result/relaxng/307377_0 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/307377_0 diff --git a/result/relaxng/307377_0.err b/result/relaxng/307377_0.err new file mode 100644 index 00000000..1f465bbe --- /dev/null +++ b/result/relaxng/307377_0.err @@ -0,0 +1,2 @@ +./test/relaxng/307377_0.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_0.xml fails to validate diff --git a/result/relaxng/307377_1 b/result/relaxng/307377_1 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/307377_1 diff --git a/result/relaxng/307377_1.err b/result/relaxng/307377_1.err new file mode 100644 index 00000000..abfb5337 --- /dev/null +++ b/result/relaxng/307377_1.err @@ -0,0 +1,3 @@ +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Extra data in list: a +./test/relaxng/307377_1.xml:1: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/307377_1.xml fails to validate diff --git a/result/relaxng/307377_2 b/result/relaxng/307377_2 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/307377_2 diff --git a/result/relaxng/307377_2.err b/result/relaxng/307377_2.err new file mode 100644 index 00000000..158ea428 --- /dev/null +++ b/result/relaxng/307377_2.err @@ -0,0 +1 @@ +./test/relaxng/307377_2.xml validates diff --git a/result/relaxng/307377_err b/result/relaxng/307377_err new file mode 100644 index 00000000..5705eab7 --- /dev/null +++ b/result/relaxng/307377_err @@ -0,0 +1 @@ +./test/relaxng/307377.rng validates diff --git a/result/relaxng/307377_valid b/result/relaxng/307377_valid new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/307377_valid @@ -3248,7 +3248,7 @@ rngStreamTest(const char *filename, * hack is also done in the Makefile */ if ((!strcmp(prefix, "tutor10_1")) || (!strcmp(prefix, "tutor10_2")) || - (!strcmp(prefix, "tutor3_2"))) + (!strcmp(prefix, "tutor3_2")) || (!strcmp(prefix, "307377"))) disable_err = 1; snprintf(pattern, 499, "./test/relaxng/%s_?.xml", prefix); diff --git a/test/relaxng/307377.rng b/test/relaxng/307377.rng new file mode 100644 index 00000000..37a87c9f --- /dev/null +++ b/test/relaxng/307377.rng @@ -0,0 +1,14 @@ +<element name="number" xmlns="http://relaxng.org/ns/structure/1.0"> + <attribute name="val"> + <list> + <oneOrMore> + <choice> + <value>1</value> + <value>2</value> + <value>3</value> + </choice> + </oneOrMore> + </list> + </attribute> + <text/> +</element> diff --git a/test/relaxng/307377_0.xml b/test/relaxng/307377_0.xml new file mode 100644 index 00000000..106d02ae --- /dev/null +++ b/test/relaxng/307377_0.xml @@ -0,0 +1 @@ +<number val="a 1 b 2 c 3" /> diff --git a/test/relaxng/307377_1.xml b/test/relaxng/307377_1.xml new file mode 100644 index 00000000..73b0d1c6 --- /dev/null +++ b/test/relaxng/307377_1.xml @@ -0,0 +1 @@ +<number val="1 a 2 b 3 c" /> diff --git a/test/relaxng/307377_2.xml b/test/relaxng/307377_2.xml new file mode 100644 index 00000000..4a041aaa --- /dev/null +++ b/test/relaxng/307377_2.xml @@ -0,0 +1 @@ +<number val="1 2 3" /> |