aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2003-02-19 17:32:48 +0000
committerDaniel Veillard <veillard@src.gnome.org>2003-02-19 17:32:48 +0000
commitce14fa545feaa4d6994426efaf7cbf979e67c1ea (patch)
tree1405cd6e798129c20c6e5330e4379a473a429e48
parent7e1d158a73abc7d0f95738c2e6d3a991f832b46b (diff)
downloadandroid_external_libxml2-ce14fa545feaa4d6994426efaf7cbf979e67c1ea.tar.gz
android_external_libxml2-ce14fa545feaa4d6994426efaf7cbf979e67c1ea.tar.bz2
android_external_libxml2-ce14fa545feaa4d6994426efaf7cbf979e67c1ea.zip
more bugfixes updated the results Daniel
* relaxng.c: more bugfixes * result/relaxng/*: updated the results Daniel
-rw-r--r--ChangeLog5
-rw-r--r--relaxng.c60
-rw-r--r--result/relaxng/spec1_err2
-rw-r--r--result/relaxng/tutor10_1_4.err4
-rw-r--r--result/relaxng/tutor10_1_5.err4
-rw-r--r--result/relaxng/tutor10_1_6.err4
-rw-r--r--result/relaxng/tutor10_2_3.err4
-rw-r--r--result/relaxng/tutor10_2_4.err4
-rw-r--r--result/relaxng/tutor10_7_3.err2
-rw-r--r--result/relaxng/tutor10_8_3.err2
-rw-r--r--result/relaxng/tutor11_2_2.err2
-rw-r--r--result/relaxng/tutor11_2_3.err2
-rw-r--r--result/relaxng/tutor12_1_err2
-rw-r--r--result/relaxng/tutor3_2_1.err4
-rw-r--r--result/relaxng/tutor3_5_2.err2
-rw-r--r--result/relaxng/tutor3_7_err2
-rw-r--r--result/relaxng/tutor5_3_1.err6
-rw-r--r--result/relaxng/tutor6_1_3.err2
-rw-r--r--result/relaxng/tutor6_2_4.err2
-rw-r--r--result/relaxng/tutor6_3_1.err2
-rw-r--r--result/relaxng/tutor7_1_2.err6
-rw-r--r--result/relaxng/tutor7_1_3.err6
-rw-r--r--result/relaxng/tutor7_2_4.err4
-rw-r--r--result/relaxng/tutor7_3_4.err6
-rw-r--r--result/relaxng/tutor7_3_5.err6
-rw-r--r--result/relaxng/tutor8_2_4.err6
-rw-r--r--result/relaxng/tutor8_2_5.err4
-rw-r--r--result/relaxng/tutor8_2_6.err2
-rw-r--r--result/relaxng/tutor9_5_2.err2
-rw-r--r--result/relaxng/tutor9_5_3.err2
-rw-r--r--result/relaxng/tutor9_6_2.err2
-rw-r--r--result/relaxng/tutor9_6_3.err2
32 files changed, 113 insertions, 52 deletions
diff --git a/ChangeLog b/ChangeLog
index 1e4f413a..2081a676 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Feb 19 18:30:30 CET 2003 Daniel Veillard <daniel@veillard.com>
+
+ * relaxng.c: more bugfixes
+ * result/relaxng/*: updated the results
+
Wed Feb 19 15:39:56 CET 2003 Igor Zlatkovic <igor@zlatkovic.com>
* DOCBparser.c: obsoleted xmlNormalizeWindowsPath
diff --git a/relaxng.c b/relaxng.c
index 13beb429..a2dbe61b 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -710,6 +710,47 @@ xmlRelaxNGCopyValidState(xmlRelaxNGValidCtxtPtr ctxt,
}
/**
+ * xmlRelaxNGEqualValidState:
+ * @ctxt: a Relax-NG validation context
+ * @state1: a validation state
+ * @state2: a validation state
+ *
+ * Compare the validation states for equality
+ *
+ * Returns 1 if equald, 0 otherwise
+ */
+static int
+xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED,
+ xmlRelaxNGValidStatePtr state1,
+ xmlRelaxNGValidStatePtr state2)
+{
+ int i;
+
+ if ((state1 == NULL) || (state2 == NULL))
+ return(0);
+ if (state1 == state2)
+ return(1);
+ if (state1->node != state2->node)
+ return(0);
+ if (state1->seq != state2->seq)
+ return(0);
+ if (state1->nbAttrLeft != state2->nbAttrLeft)
+ return(0);
+ if (state1->nbAttrs != state2->nbAttrs)
+ return(0);
+ if (state1->endvalue != state2->endvalue)
+ return(0);
+ if ((state1->value != state2->value) &&
+ (!xmlStrEqual(state1->value, state2->value)))
+ return(0);
+ for (i = 0;i < state1->nbAttrs;i++) {
+ if (state1->attrs[i] != state2->attrs[i])
+ return(0);
+ }
+ return(1);
+}
+
+/**
* xmlRelaxNGFreeValidState:
* @state: a validation state structure
*
@@ -5965,21 +6006,25 @@ xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt,
ret = -1;
break;
case XML_RELAXNG_TEXT:
+#if 0
if (node == NULL) {
ret = 0;
break;
}
+#endif
while ((node != NULL) &&
((node->type == XML_TEXT_NODE) ||
(node->type == XML_COMMENT_NODE) ||
(node->type == XML_PI_NODE) ||
(node->type == XML_CDATA_SECTION_NODE)))
node = node->next;
+#if 0
if (node == ctxt->state->seq) {
VALID_CTXT();
VALID_ERROR("Expecting text content\n");
ret = -1;
}
+#endif
ctxt->state->seq = node;
break;
case XML_RELAXNG_ELEMENT:
@@ -6149,6 +6194,7 @@ xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt,
}
case XML_RELAXNG_CHOICE: {
xmlRelaxNGDefinePtr list = define->content;
+ int success = 0;
oldflags = ctxt->flags;
ctxt->flags |= FLAGS_IGNORABLE;
@@ -6157,14 +6203,24 @@ xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt,
oldstate = xmlRelaxNGCopyValidState(ctxt, ctxt->state);
ret = xmlRelaxNGValidateDefinition(ctxt, list);
if (ret == 0) {
- xmlRelaxNGFreeValidState(oldstate);
- break;
+ if (xmlRelaxNGEqualValidState(ctxt, ctxt->state, oldstate)){
+ /*
+ * if that pattern was nullable flag it but try
+ * to make more progresses
+ */
+ success = 1;
+ } else {
+ xmlRelaxNGFreeValidState(oldstate);
+ break;
+ }
}
xmlRelaxNGFreeValidState(ctxt->state);
ctxt->state = oldstate;
list = list->next;
}
ctxt->flags = oldflags;
+ if (success == 1)
+ ret = 0;
break;
}
case XML_RELAXNG_DEF:
diff --git a/result/relaxng/spec1_err b/result/relaxng/spec1_err
index eae9def0..99cf052b 100644
--- a/result/relaxng/spec1_err
+++ b/result/relaxng/spec1_err
@@ -1 +1 @@
-Unimplemented block at relaxng.c:5656
+Unimplemented block at relaxng.c:5697
diff --git a/result/relaxng/tutor10_1_4.err b/result/relaxng/tutor10_1_4.err
index 93b43db8..d553dcaa 100644
--- a/result/relaxng/tutor10_1_4.err
+++ b/result/relaxng/tutor10_1_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5840
+error detected at relaxng.c:5881
Expecting a namespace for element foo
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor10_1_5.err b/result/relaxng/tutor10_1_5.err
index 47a9cab7..0310479e 100644
--- a/result/relaxng/tutor10_1_5.err
+++ b/result/relaxng/tutor10_1_5.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5845
+error detected at relaxng.c:5886
Expecting element foo has wrong namespace: expecting http://www.example.com
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor10_1_6.err b/result/relaxng/tutor10_1_6.err
index 47a9cab7..0310479e 100644
--- a/result/relaxng/tutor10_1_6.err
+++ b/result/relaxng/tutor10_1_6.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5845
+error detected at relaxng.c:5886
Expecting element foo has wrong namespace: expecting http://www.example.com
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor10_2_3.err b/result/relaxng/tutor10_2_3.err
index 737e2547..79a821f3 100644
--- a/result/relaxng/tutor10_2_3.err
+++ b/result/relaxng/tutor10_2_3.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5857
+error detected at relaxng.c:5898
Expecting no namespace for element foo
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor10_2_4.err b/result/relaxng/tutor10_2_4.err
index 737e2547..79a821f3 100644
--- a/result/relaxng/tutor10_2_4.err
+++ b/result/relaxng/tutor10_2_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5857
+error detected at relaxng.c:5898
Expecting no namespace for element foo
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor10_7_3.err b/result/relaxng/tutor10_7_3.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor10_7_3.err
+++ b/result/relaxng/tutor10_7_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor10_8_3.err b/result/relaxng/tutor10_8_3.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor10_8_3.err
+++ b/result/relaxng/tutor10_8_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor11_2_2.err b/result/relaxng/tutor11_2_2.err
index bae7c4b3..91c4f3ef 100644
--- a/result/relaxng/tutor11_2_2.err
+++ b/result/relaxng/tutor11_2_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6060
+error detected at relaxng.c:6105
Invalid attribute foo for element card
diff --git a/result/relaxng/tutor11_2_3.err b/result/relaxng/tutor11_2_3.err
index 80ff29c5..8d7f8988 100644
--- a/result/relaxng/tutor11_2_3.err
+++ b/result/relaxng/tutor11_2_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6060
+error detected at relaxng.c:6105
Invalid attribute b for element card
diff --git a/result/relaxng/tutor12_1_err b/result/relaxng/tutor12_1_err
index eae9def0..99cf052b 100644
--- a/result/relaxng/tutor12_1_err
+++ b/result/relaxng/tutor12_1_err
@@ -1 +1 @@
-Unimplemented block at relaxng.c:5656
+Unimplemented block at relaxng.c:5697
diff --git a/result/relaxng/tutor3_2_1.err b/result/relaxng/tutor3_2_1.err
index 6668a65e..5e5a24c5 100644
--- a/result/relaxng/tutor3_2_1.err
+++ b/result/relaxng/tutor3_2_1.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5832
+error detected at relaxng.c:5873
Expecting element name, got email
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element card: email
diff --git a/result/relaxng/tutor3_5_2.err b/result/relaxng/tutor3_5_2.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor3_5_2.err
+++ b/result/relaxng/tutor3_5_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor3_7_err b/result/relaxng/tutor3_7_err
index af8755cf..f7198a5c 100644
--- a/result/relaxng/tutor3_7_err
+++ b/result/relaxng/tutor3_7_err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6406
+error detected at relaxng.c:6462
extra data on the document
diff --git a/result/relaxng/tutor5_3_1.err b/result/relaxng/tutor5_3_1.err
index 03afffd6..9f72a689 100644
--- a/result/relaxng/tutor5_3_1.err
+++ b/result/relaxng/tutor5_3_1.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:6200
+error detected at relaxng.c:6256
Element bad has child elements
-error detected at relaxng.c:5994
+error detected at relaxng.c:6039
Expecting an element got 3 type
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element bad: text
diff --git a/result/relaxng/tutor6_1_3.err b/result/relaxng/tutor6_1_3.err
index 898a8bc3..8d8f0bad 100644
--- a/result/relaxng/tutor6_1_3.err
+++ b/result/relaxng/tutor6_1_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6060
+error detected at relaxng.c:6105
Invalid attribute preferredFormat for element card
diff --git a/result/relaxng/tutor6_2_4.err b/result/relaxng/tutor6_2_4.err
index 75b44054..48ca7950 100644
--- a/result/relaxng/tutor6_2_4.err
+++ b/result/relaxng/tutor6_2_4.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element preferredFormat: text
diff --git a/result/relaxng/tutor6_3_1.err b/result/relaxng/tutor6_3_1.err
index 898a8bc3..8d8f0bad 100644
--- a/result/relaxng/tutor6_3_1.err
+++ b/result/relaxng/tutor6_3_1.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6060
+error detected at relaxng.c:6105
Invalid attribute preferredFormat for element card
diff --git a/result/relaxng/tutor7_1_2.err b/result/relaxng/tutor7_1_2.err
index c2b0194f..cbfe2f8b 100644
--- a/result/relaxng/tutor7_1_2.err
+++ b/result/relaxng/tutor7_1_2.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:4943
+error detected at relaxng.c:4984
Internal: failed to validate type float
-error detected at relaxng.c:6338
+error detected at relaxng.c:6394
error validating list
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element vector: text
diff --git a/result/relaxng/tutor7_1_3.err b/result/relaxng/tutor7_1_3.err
index 13434caa..92eef349 100644
--- a/result/relaxng/tutor7_1_3.err
+++ b/result/relaxng/tutor7_1_3.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5183
+error detected at relaxng.c:5224
Extra data in list: 5.6
-error detected at relaxng.c:6338
+error detected at relaxng.c:6394
error validating list
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element vector: text
diff --git a/result/relaxng/tutor7_2_4.err b/result/relaxng/tutor7_2_4.err
index 784629aa..7ff321d3 100644
--- a/result/relaxng/tutor7_2_4.err
+++ b/result/relaxng/tutor7_2_4.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:4943
+error detected at relaxng.c:4984
Internal: failed to validate type double
-error detected at relaxng.c:6338
+error detected at relaxng.c:6394
error validating list
diff --git a/result/relaxng/tutor7_3_4.err b/result/relaxng/tutor7_3_4.err
index 82111314..9a414cf1 100644
--- a/result/relaxng/tutor7_3_4.err
+++ b/result/relaxng/tutor7_3_4.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:5183
+error detected at relaxng.c:5224
Extra data in list: 5.6
-error detected at relaxng.c:6338
+error detected at relaxng.c:6394
error validating list
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element path: text
diff --git a/result/relaxng/tutor7_3_5.err b/result/relaxng/tutor7_3_5.err
index 336daf80..fbf3e99d 100644
--- a/result/relaxng/tutor7_3_5.err
+++ b/result/relaxng/tutor7_3_5.err
@@ -1,6 +1,6 @@
-error detected at relaxng.c:4943
+error detected at relaxng.c:4984
Internal: failed to validate type double
-error detected at relaxng.c:6338
+error detected at relaxng.c:6394
error validating list
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element path: text
diff --git a/result/relaxng/tutor8_2_4.err b/result/relaxng/tutor8_2_4.err
index 873922e0..bde59019 100644
--- a/result/relaxng/tutor8_2_4.err
+++ b/result/relaxng/tutor8_2_4.err
@@ -1,4 +1,4 @@
-Unimplemented block at relaxng.c:5656
-Unimplemented block at relaxng.c:5656
-error detected at relaxng.c:6047
+Unimplemented block at relaxng.c:5697
+Unimplemented block at relaxng.c:5697
+error detected at relaxng.c:6092
Extra content for element head: meta
diff --git a/result/relaxng/tutor8_2_5.err b/result/relaxng/tutor8_2_5.err
index 27d1af09..7e38529e 100644
--- a/result/relaxng/tutor8_2_5.err
+++ b/result/relaxng/tutor8_2_5.err
@@ -1,4 +1,4 @@
-error detected at relaxng.c:5988
+error detected at relaxng.c:6033
Expecting an element, got empty
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element head: meta
diff --git a/result/relaxng/tutor8_2_6.err b/result/relaxng/tutor8_2_6.err
index 9eef5805..240c7f47 100644
--- a/result/relaxng/tutor8_2_6.err
+++ b/result/relaxng/tutor8_2_6.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element head: base
diff --git a/result/relaxng/tutor9_5_2.err b/result/relaxng/tutor9_5_2.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor9_5_2.err
+++ b/result/relaxng/tutor9_5_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_5_3.err b/result/relaxng/tutor9_5_3.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor9_5_3.err
+++ b/result/relaxng/tutor9_5_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_6_2.err b/result/relaxng/tutor9_6_2.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor9_6_2.err
+++ b/result/relaxng/tutor9_6_2.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card
diff --git a/result/relaxng/tutor9_6_3.err b/result/relaxng/tutor9_6_3.err
index 7e030d22..2b281149 100644
--- a/result/relaxng/tutor9_6_3.err
+++ b/result/relaxng/tutor9_6_3.err
@@ -1,2 +1,2 @@
-error detected at relaxng.c:6047
+error detected at relaxng.c:6092
Extra content for element addressBook: card