Commit e62d36c4 authored by Daniel Veillard's avatar Daniel Veillard
Browse files

- valid.c test/VCM/v2[34].xml: Fixed bug #54631 added specific test

  case
- INSTALL: was empty added stuff from the FAQ
Daniel
parent a265af79
Tue May 15 10:52:19 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
* 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 <Daniel.Veillard@imag.fr>
* tree.[ch]: fixing bug #54446, by cleaning some bugs in the
......
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$
<!DOCTYPE doc [
<!ELEMENT doc (a?, (b, c?)?, d)>
<!ELEMENT a EMPTY>
<!ELEMENT b EMPTY>
<!ELEMENT c EMPTY>
<!ELEMENT d EMPTY>
]>
<doc>
<d/>
</doc>
<!DOCTYPE doc [
<!ELEMENT doc (a?, (b, c?, d?)?, (e | f | g)*, (h+ | i | j+))>
<!ELEMENT a EMPTY>
<!ELEMENT b EMPTY>
<!ELEMENT c EMPTY>
<!ELEMENT d EMPTY>
<!ELEMENT e EMPTY>
<!ELEMENT f EMPTY>
<!ELEMENT g EMPTY>
<!ELEMENT h EMPTY>
<!ELEMENT i EMPTY>
<!ELEMENT j EMPTY>
]>
<doc>
<i/>
</doc>
......@@ -23,6 +23,8 @@
#include <libxml/xmlerror.h>
#include <libxml/list.h>
/* #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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment