* libxml.m4: applied patch from Patrick Welche provided in
bug #125432 , future proofing the .m4 file.
* parser.c: resetting the context should also reset the error
* TODO: problem of conformance w.r.t. E20 was raised in the
XML Core telconf and libxml2 isn't conformant there.
Daniel
* Makefile.am configure.in xmldwalk.c xmlreader.c
include/libxml/Makefile.am include/libxml/xmldwalk.h
include/libxml/xmlversion.h.in: removing xmldwalk module
since it got merged with the xmlreader.
* parser.c: cleanup
* win32/libxml2.def.src python/libxml2class.txt doc/libxml2-api.xml:
rebuilt the API
* python/tests/Makefile.am python/tests/reader7.py
python/tests/walker.py: adding regression testing for the
new xmlreader APIs, new APIs for reader creation, including
makeing reader "walker" operating on preparsed document trees.
Daniel
* include/libxml/parserInternals.h HTMLparser.c HTMLtree.c
SAX2.c catalog.c debugXML.c entities.c parser.c relaxng.c
testSAX.c tree.c valid.c xmlschemas.c xmlschemastypes.c
xpath.c: Changed all (?) occurences where validation macros
(IS_xxx) had single-byte arguments to use IS_xxx_CH instead
(e.g. IS_BLANK changed to IS_BLANK_CH). This gets rid of
many warning messages on certain platforms, and also high-
lights places in the library which may need to be enhanced
for proper UTF8 handling.
* genChRanges.py, chvalid.c, include/libxml/chvalid.h,
include/libxml/parserInternals.h: enhanced macros to avoid
breaking ABI from previous versions.
* catalog.c, parser.c, tree.c: modified to use IS_* macros
defined in parserInternals.h. Makes maintenance much easier.
* testHTML.c, testSAX.c, python/libxml.c: minor fixes to avoid
compilation warnings
* configuration.in: fixed pushHTML test error; enhanced for
better devel (me) testing
* legacy.c: remove the warning for startDocument(), as it is used by
glade (or glade-python)
* parser.c relaxng.c xmlschemastypes.c: fixed an assorted set of
invalid accesses found by running some Python based regression
tests under valgrind. There is still a few leaks reported by the
relaxng regressions which need some attention.
* doc/Makefile.am: fixed a make install problem c.f. #124539
* include/libxml/parserInternals.h: addition of xmlParserMaxDepth
patch from crutcher
Daniel
* configure.in: patch from Mike Hommey
* threads.c: applied Windows patch from Jesse Pelton and Stephane
Bidoul
* parser.c: fix the potentially nasty access to ctxt->serror
without checking first that the SAX block is version 2
Daniel
* SAX2.c: fixed a nasty bug with interning some text strings
* configure.in: prepare for beta5 of 2.6.0
* libxml.h nanoftp.c nanohttp.c xmlIO.c include/libxml/xmlerror.h:
better error handling for I/O and converted FTP and HTTP
* parser.c: fixed another bug
Daniel
* HTMLparser.c c14n.c catalog.c error.c globals.c parser.c
parserInternals.c relaxng.c valid.c xinclude.c xmlIO.c xmlregexp.c
xmlschemas.c xpath.c xpointer.c include/libxml/globals.h
include/libxml/parser.h include/libxml/valid.h
include/libxml/xmlerror.h: Setting up the framework for structured
error reporting, touches a lot of modules, but little code now
the error handling trail has been cleaned up.
Daniel
* error.c include/libxml/xmlerror.h include/libxml/xpath.h
include/libxml/xpathInternals.h xpath.c: cleaning up XPath
error reporting that time.
* threads.c: applied the two patches for TLS threads
on Windows from Jesse Pelton
* parser.c: tiny safety patch for xmlStrPrintf() make sure the
return is always zero terminated. Should also help detecting
passing wrong buffer size easilly.
* result/VC/* result/valid/rss.xml.err result/valid/xlink.xml.err:
updated the results to follow the errors string generated by
last commit.
Daniel
* check-xml-test-suite.py: fixing the script
* parser.c: replace sequences of RAW && NXT(.) == '.' with
memcmp calls, seems to not break conformance, slightly inflate
the size of the gcc generated code though.
Daniel
* parserInternals.c parser.c valid.c include/libxml/parserInternals.h:
more cleanup of error handling in parserInternals, sharing the
routine for memory errors.
Daniel
* HTMLparser.c Makefile.am legacy.c parser.c parserInternals.c
include/libxml/xmlerror.h: more code cleanup, especially around
error messages, the HTML parser has now been upgraded to the new
handling.
* result/HTML/*: a few changes in the resulting error messages
Daniel
* Makefile.am: more cleanup in make tests
* error.c valid.c parser.c include/libxml/xmlerror.h: more work
in the transition to the new error reporting strategy.
* python/tests/reader2.py result/VC/* result/valid/*:
few changes in the strings generated by the validation output
Daniel
* Makefile.am: changed 'make tests' to use a concise output,
scrolling to see where thing broke wasn't pleasant
* configure.in: some beta4 preparation, but not ready yet
* error.c globals.c include/libxml/globals.h include/libxml/xmlerror.h:
new error handling code, last error informations are stored
in the parsing context or a global variable, new APIs to
handle the xmlErrorPtr type.
* parser.c parserInternals.c valid.c : started migrating to the
new error handling code, it's a royal pain.
* include/libxml/parser.h include/libxml/parserInternals.h:
moved the definition of xmlNewParserCtxt()
* parser.c: small potential buffer access problem in push code
provided by Justin Fletcher
* result/*.sax result/VC/PENesting* result/namespaces/*
result/valid/*.err: some error messages were sligthly changed.
Daniel
* entities.c legacy.c parser.c: made the predefined entities
static predefined structures to avoid the work, memory and
hazards associated to initialization/cleanup.
Daniel
* HTMLparser.c Makefile.am configure.in legacy.c parser.c
parserInternals.c testHTML.c xmllint.c include/libxml/HTMLparser.h
include/libxml/parser.h include/libxml/parserInternals.h
include/libxml/xmlversion.h.in: added a new configure
option --with-push, some cleanups, chased code size anomalies.
Now a library configured --with-minimum is around 150KB,
sounds good enough.
Daniel
* Makefile.am: cleanup, creating a new legacy.c module,
made sure make tests ran in reduced conditions
* SAX.c SAX2.c configure.in entities.c globals.c parser.c
parserInternals.c tree.c valid.c xlink.c xmlIO.c xmlcatalog.c
xmlmemory.c xpath.c xmlmemory.c include/libxml/xmlversion.h.in:
increased the modularization, allow to configure out
validation code and legacy code, added a configuration
option --with-minimum compiling only the mandatory code
which then shrink to 200KB.
Daniel
* parser.c: fix a bug raised by the Mips compiler.
* include/libxml/SAX.h include/libxml/parser.h: move the
SAXv1 block definitions to parser.h fixes bug #123380
* xmlreader.c include/libxml/xmlreader.h: reinstanciate
the attribute and element pool borken 2 commits ago.
Start playing with an entry point to preserve a subtree.
* entities.c: remove a warning.
Daniel
* parser.c: William's change allowed to spot a nasty bug in xmlDoRead
if the result is well formed that ctxt->myDoc is not NULL and uses
the context dictionnary.
Daniel
* doc/libxml2-api.xml: rebuilt the API
* xmllint.c doc/xmllint.1 doc/xmllint.xml: added the new options
--nocdata and --nsclean to remove CDATA section and surperfluous
namespace declarations
* parser.c SAX2.c: implementation of the 2 new options
Daniel
* parser.c xmllint.c doc/libxml2-api.xml include/libxml/parser.h:
Changed the new xmlRead/xmlCtxtRead APIs to have an extra
base URL parameter when not loading from a file or URL.
Daniel
* configure.in: preparing a beta3 solving the ABI problems
* globals.c parser.c parserInternals.c testHTML.c HTMLparser.c SAX.c
include/libxml/globals.h include/libxml/SAX.h: make sure the
global variables for the default SAX handler are V1 ones to
avoid ABI compat problems.
* xmlreader.c: cleanup of uneeded code
* hash.c: fix a comment
Daniel
* SAX2.c hash.c parser.c include/libxml/xmlexports.h
include/libxml/xmlmemory.h include/libxml/xmlversion.h.in:
fixing some comments to avoid warnings from apibuild.py
Daniel
* Makefile.am: adding repeated parsing and validating tests
* SAX2.c parser.c tree.c include/libxml/parser.h: make the new
DOM tree building interfaces use the dictionary from the
parsing context to build the element and attributes names
as well as formatting spaces and short text nodes
* include/libxml/dict.h dict.c: added some reference counting
for xmlDictPtr because they can be shared by documents and
a parser context.
* xmlreader.c: a bit of cleanup, remove the specific tree freeing
functions and use the standard ones now.
* xmllint.c: add --nodict
* python/libxml.c: fix a stupid bug so that ns() works on
attribute nodes.
Daniel
* parser.c include/libxml/parser.h: adding a new set of
API for parsing xmlReadDoc() xmlReadFile() ... xmlReadIO()
and xmlCtxtReadDoc() ... xmlCtxtReadIO(). That with
a clear define of xmlParserOption, xmlCtxtUseOptions()
should simplify custom parsing without being tempted to
use global variables, and xmlCtxtReset() should allow reuse
of a context for multiple parsing.
* xmllint.c: switched to use xmlReadXXX, allow options to
be used simultaneously with less troubles.
* tree.c: simple warning removal
* doc/apibuild.py: small fix
* doc/libxml2-api.xml win32/libxml2.def.src: updated
Daniel
* parser.c: make sure xmlDetectSAX2() is called only at
parsing time to avoid breaking apps changing the SAX
callbacks after context allocation, change xmlCreateDocParserCtxt()
to use an immutable buffer instead of a copy
Daniel
* Makefile.am: add streaming on memory regression tests, found
bad bugs in the reader interface
* xmlreader.c: fixing bugs w.r.t. very large names, and special
condition in end of file.
* xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h:
adding immutable buffers, and parser input based on those,
but this should not be used (yet) for general parsing
* parser.c: added a comment about using immutable buffers for
general parsing.
* result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the
output of the regression tests
* xmllint.c: using the immutable buffers when streaming on
mmaped file (--stream --memory)
Daniel
* SAX2.c parser.c parserInternals.c xmlreader.c: started messing
seriously with per-document dict and element and attribute nodes
reuse in the xmlReader. This seems to lead to an interesting
speedup of the xmlReader already.
Daniel
* SAX2.c parser.c valid.c: starting to cleanup some of the
problems exposed by the W3C/NIST regression suite.
* result/ent7.sax result/xml2.sax: small fixes.
Daniel
* parser.c include/libxml/xmlerror.h: factoring of more
error handling code, serious size reduction and more lisibility
of the resulting code.
* parserInternals.c parser.c include/libxml/parserInternals.h
include/libxml/parser.h: changing the way VC:Proper Group/PE Nesting
checks are done, use a counter for entities. Entities where freed and
reallocated at the same address failing the check.
* tree.c: avoid a warning
* result/valid/* result/VC/*: this slightly changes some validation
error messages.
Daniel
* parser.c include/libxml/xmlerror.h: starting cleaning up
error handling, factorize error processing
* doc/xmllint.html: update of the page, remove --sgml
Daniel
* parser.c parserInternals.c tree.c include/libxml/parser.h
include/libxml/xmlerror.h: adding namespace checkings
while making sure they still parse as wellformed documents.
Add an nsWellFormed status report to the context, and
provide new appropriate error codes.
* Makefile.am result/namespaces/* test/namespaces/*: add
specific regression testing for the new namespace support
* test/att5 result/noent/att5 result/att5 result/att5.sax:
add more coverage for the attribute parsing and normalization
code.
Daniel
* configure.in doc/* : 2.6.0beta1 changes
* SAX2.c hash.c parser.c parserInternals.c: Fixing attribute
normalization, might not be totally fixed but this should
make sure SAX event provide the right strings for attributes
except entities for which libxml2 is different by default
This should fix#109564
* result/attrib.xml.sax result/ent3.sax result/p3p.sax: minor changes
in attribute callback values
* result/c14n/with-comments/example-4
result/c14n/without-comments/example-4: this also fixes a subtle
bug in the canonicalization tests.
Daniel
fixing bugs and migrating to SAX2 interface by default. There
is some work letf TODO, like namespace validation and attributes
normalization (this break C14N right now)
* Makefile.am: fixed the test rules
* include/libxml/SAX2.h include/libxml/parser.h
include/libxml/parserInternals.h SAX2.c parser.c
parserInternals.c: changing the parser, migrating to SAX2,
adding new interface to switch back to SAX1 or initialize a
SAX block for v1 or v2. Most of the namespace work is done
below SAX, as well as attribute defaulting
* globals.c: changed initialization of the default SAX handlers
* hash.c tree.c include/libxml/hash.h: added QName specific handling
* xmlIO.c: small fix
* xmllint.c testSAX.c: provide a --sax1 switch to test the old
version code path
* result/p3p result/p3p.sax result/noent/p3p test/p3p: the new code
pointed out a typo in a very old test namespace
Daniel