diff --git a/ChangeLog b/ChangeLog index 07259221..f1fdbc97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue May 15 10:52:19 CEST 2001 Daniel Veillard + + * valid.c test/VCM/v2[34].xml: Fixed bug #54631 added specific test + case + * INSTALL: was empty added stuff from the FAQ + Fri May 11 19:37:30 CEST 2001 Daniel Veillard * tree.[ch]: fixing bug #54446, by cleaning some bugs in the diff --git a/INSTALL b/INSTALL index e69de29b..57b6f25b 100644 --- a/INSTALL +++ b/INSTALL @@ -0,0 +1,64 @@ +Extracted from the documentation: + http://xmlsoft.org/FAQ.html#Compilatio + +Compilation + + 1.What is the process to compile libxml ? + + As most UNIX libraries libxml follows the "standard": + + gunzip -c xxx.tar.gz | tar xvf - + + cd libxml-xxxx + + ./configure --help + + to see the options, then the compilation/installation proper + + ./configure [possible options] + + make + + make install + + At that point you may have to rerun ldconfig or similar utility to + update your list of installed shared libs. + + 2.What other libraries are needed to compile/install libxml ? + + Libxml does not requires any other library, the normal C ANSI API + should be sufficient (please report any violation to this rule you + may find). + + However if found at configuration time libxml will detect and use + the following libs: + + libz: a highly portable and available widely compression library + http://www.info-zip.org/pub/infozip/zlib/ + iconv: a powerful character encoding conversion library. It's + included by default on recent glibc libraries, so it doesn't + need to be installed specifically on linux. It seems it's + now part of the official UNIX specification. Here is one + implementation of the library which source can be found here. + http://clisp.cons.org/~haible/packages-libiconv.html + ftp://ftp.ilog.fr/pub/Users/haible/gnu/ + + 3.libxml does not compile with HP-UX's optional ANSI-C compiler + + this is due to macro limitations. Try to add " -Wp,-H16800 -Ae" + to the CFLAGS + + you can also install and use gcc instead or use a precompiled version + of libxml, both available from the HP-UX Porting and Archive Centre + + 4.make check fails on some platforms + + Sometime the regression tests results don't completely match the + value produced by the parser, and the makefile uses diff to print + the delta. On some platforms the diff return breaks the compilation + process, if the diff is small this is probably not a serious problem + +Daniel +veillard@redhat.com + +$Id$ diff --git a/test/VCM/v23.xml b/test/VCM/v23.xml new file mode 100644 index 00000000..6aedcfb4 --- /dev/null +++ b/test/VCM/v23.xml @@ -0,0 +1,10 @@ + + + + + +]> + + + diff --git a/test/VCM/v24.xml b/test/VCM/v24.xml new file mode 100644 index 00000000..25367c42 --- /dev/null +++ b/test/VCM/v24.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + +]> + + + diff --git a/valid.c b/valid.c index 7393d1e1..81df7783 100644 --- a/valid.c +++ b/valid.c @@ -23,6 +23,8 @@ #include #include +/* #define DEBUG_VALID_ALGO */ + /* * Generic function for accessing stacks in the Validity Context */ @@ -137,8 +139,6 @@ vstateVPop(xmlValidCtxtPtr ctxt) { PUSH_AND_POP(static, xmlNodePtr, node) -/* #define DEBUG_VALID_ALGO */ - #ifdef DEBUG_VALID_ALGO static void xmlValidPrintNode(xmlNodePtr cur) { @@ -3278,7 +3278,6 @@ xmlValidateSkipIgnorable(xmlNodePtr child) { static int xmlValidateElementType(xmlValidCtxtPtr ctxt) { int ret = -1; - int consumed = 1; int determinist = 1; NODE = xmlValidateSkipIgnorable(NODE); @@ -3306,7 +3305,6 @@ cont: DEBUG_VALID_MSG("restaured parent branch"); DEBUG_VALID_STATE(NODE, CONT) ret = 1; - consumed = 0; goto analyze; } @@ -3315,8 +3313,7 @@ cont: * we may have to save a backup state here. This is the equivalent * of handling epsilon transition in NFAs. */ - if ((consumed) && (CONT != NULL) && - (CONT->parent != NULL) && + if ((CONT != NULL) && ((CONT->ocur == XML_ELEMENT_CONTENT_MULT) || (CONT->ocur == XML_ELEMENT_CONTENT_OPT) || ((CONT->ocur == XML_ELEMENT_CONTENT_PLUS) && (OCCURENCE)))) { @@ -3350,7 +3347,6 @@ cont: } while ((NODE != NULL) && ((NODE->type != XML_ELEMENT_NODE) && (NODE->type != XML_TEXT_NODE))); - consumed = 1; ret = 1; break; } else { @@ -3381,7 +3377,6 @@ cont: } while ((NODE != NULL) && ((NODE->type != XML_ELEMENT_NODE) && (NODE->type != XML_TEXT_NODE))); - consumed = 1; } else { DEBUG_VALID_MSG("element failed"); ret = 0; @@ -3442,7 +3437,6 @@ analyze: } if (cur != ctxt->vstate->node) determinist = -3; - consumed = 0; goto cont; case XML_ELEMENT_CONTENT_PLUS: if (OCCURENCE == 0) { @@ -3454,7 +3448,6 @@ analyze: } if (cur != ctxt->vstate->node) determinist = -3; - consumed = 0; goto cont; } DEBUG_VALID_MSG("Plus branch found"); @@ -3569,7 +3562,6 @@ analyze: } if (cur != ctxt->vstate->node) determinist = -3; - consumed = 0; goto cont; } if (ret == 0) { @@ -3581,7 +3573,6 @@ analyze: DEBUG_VALID_MSG("exhaustion, failed"); return(0); } - consumed = 0; if (cur != ctxt->vstate->node) determinist = -3; goto cont;