mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-08-08 17:42:14 +03:00
The lesson of the day is
"never forget an epsilon transition or DocBook will raise it" - valid.c: forgot an epsilon transition in for ()+ - test/VCM/v21.xml : added a specific test case Daniel
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
Fri Apr 20 17:45:47 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||||
|
|
||||||
|
* valid.c: forgot an epsilon transition in for ()+
|
||||||
|
* test/VCM/v21.xml : added a specific test case
|
||||||
|
|
||||||
Fri Apr 20 15:46:04 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
Fri Apr 20 15:46:04 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
|
||||||
|
|
||||||
* valid.c: removed a state explosion exhibited by RSS
|
* valid.c: removed a state explosion exhibited by RSS
|
||||||
|
7
test/VCM/v21.xml
Normal file
7
test/VCM/v21.xml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE doc [
|
||||||
|
<!ELEMENT doc ((a | b)+, c) >
|
||||||
|
<!ELEMENT a EMPTY>
|
||||||
|
<!ELEMENT b EMPTY>
|
||||||
|
<!ELEMENT c EMPTY>
|
||||||
|
]>
|
||||||
|
<doc><a/><b/><c/></doc>
|
3
valid.c
3
valid.c
@@ -3590,7 +3590,8 @@ cont:
|
|||||||
if ((consumed) && (CONT != NULL) &&
|
if ((consumed) && (CONT != NULL) &&
|
||||||
(CONT->parent != NULL) &&
|
(CONT->parent != NULL) &&
|
||||||
((CONT->ocur == XML_ELEMENT_CONTENT_MULT) ||
|
((CONT->ocur == XML_ELEMENT_CONTENT_MULT) ||
|
||||||
(CONT->ocur == XML_ELEMENT_CONTENT_OPT))) {
|
(CONT->ocur == XML_ELEMENT_CONTENT_OPT) ||
|
||||||
|
((CONT->ocur == XML_ELEMENT_CONTENT_PLUS) && (OCCURENCE)))) {
|
||||||
DEBUG_VALID_MSG("saving parent branch");
|
DEBUG_VALID_MSG("saving parent branch");
|
||||||
vstateVPush(ctxt, CONT, NODE, DEPTH, OCCURS, ROLLBACK_PARENT);
|
vstateVPush(ctxt, CONT, NODE, DEPTH, OCCURS, ROLLBACK_PARENT);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user