diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | relaxng.c | 4 | ||||
-rw-r--r-- | result/relaxng/compare0_0 | 0 | ||||
-rw-r--r-- | result/relaxng/compare0_0.err | 3 | ||||
-rw-r--r-- | result/relaxng/compare0_err | 1 | ||||
-rw-r--r-- | result/relaxng/compare0_valid | 0 | ||||
-rw-r--r-- | test/relaxng/compare0.rng | 8 | ||||
-rw-r--r-- | test/relaxng/compare0_0.xml | 3 |
8 files changed, 23 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Mon Jun 13 13:39:43 CEST 2005 Daniel Veillard <daniel@veillard.com> + + * relaxng.c: fixed a bug exposed by Rob Richards in the mailing-list + * result//compare0* test//compare0*: added the regression test in + the suite as this went unnoticed ! + Wed Jun 9 11:07:42 PDT 2005 William Brack <wbrack@mmm.com.hk> * pattern.c, xpath.c, include/libxml/pattern.h: Further @@ -2573,11 +2573,11 @@ xmlRelaxNGSchemaTypeCompare(void *data ATTRIBUTE_UNUSED, } ret = xmlSchemaValPredefTypeNode(typ, value2, &res2, ctxt2); if (ret != 0) { - xmlSchemaFreeValue(res1); + if ((comp1 == NULL) && (res1 != NULL)) + xmlSchemaFreeValue(res1); return (-1); } if (res1 == NULL) { - xmlSchemaFreeValue(res1); return (-1); } ret = xmlSchemaCompareValues(res1, res2); diff --git a/result/relaxng/compare0_0 b/result/relaxng/compare0_0 new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/compare0_0 diff --git a/result/relaxng/compare0_0.err b/result/relaxng/compare0_0.err new file mode 100644 index 00000000..9328f273 --- /dev/null +++ b/result/relaxng/compare0_0.err @@ -0,0 +1,3 @@ +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : failed to compare type integer +./test/relaxng/compare0_0.xml:2: element number: Relax-NG validity error : Element number failed to validate attributes +./test/relaxng/compare0_0.xml fails to validate diff --git a/result/relaxng/compare0_err b/result/relaxng/compare0_err new file mode 100644 index 00000000..543d7349 --- /dev/null +++ b/result/relaxng/compare0_err @@ -0,0 +1 @@ +./test/relaxng/compare0.rng validates diff --git a/result/relaxng/compare0_valid b/result/relaxng/compare0_valid new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/result/relaxng/compare0_valid diff --git a/test/relaxng/compare0.rng b/test/relaxng/compare0.rng new file mode 100644 index 00000000..a0446c8d --- /dev/null +++ b/test/relaxng/compare0.rng @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8" ?> +<element name="number" xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <attribute name="att1"> + <value type="integer"> 1 </value> + </attribute> +</element> + diff --git a/test/relaxng/compare0_0.xml b/test/relaxng/compare0_0.xml new file mode 100644 index 00000000..6a74b2f3 --- /dev/null +++ b/test/relaxng/compare0_0.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" ?> +<number att1="x"></number> + |