mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-02-22 21:57:21 +03:00
- valid.c test/VCM/v2[34].xml: Fixed bug #54631 added specific test
case - INSTALL: was empty added stuff from the FAQ Daniel
This commit is contained in:
parent
a265af7988
commit
e62d36c4fd
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
64
INSTALL
64
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$
|
10
test/VCM/v23.xml
Normal file
10
test/VCM/v23.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE doc [
|
||||
<!ELEMENT doc (a?, (b, c?)?, d)>
|
||||
<!ELEMENT a EMPTY>
|
||||
<!ELEMENT b EMPTY>
|
||||
<!ELEMENT c EMPTY>
|
||||
<!ELEMENT d EMPTY>
|
||||
]>
|
||||
<doc>
|
||||
<d/>
|
||||
</doc>
|
16
test/VCM/v24.xml
Normal file
16
test/VCM/v24.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<!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>
|
15
valid.c
15
valid.c
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user