lot of optimization work, results in significant improvements
when handling really complex XPath queries. Add a small optimizer
for unions, improve [n] and [last()], avoid some costly ops.
Daniel
* include/libxml/parser.h parser.c: xmlStrstr args are both const
* xpath.c: small cleanup
* xmlGetNsList: reformated, fixed problems if used on Entities
Daniel
* configure.in: moved the symlinks detection within a CVS
check, this is not portable and will be removed soon.
* xpath.c: small cleanup/speedup
Daniel
* AUTHORS: added William and Bjorn
* include/libxml/*.h *.c README doc/*.html etc.: changed old email to
daniel@veillard.com hopefully I won't have to do this again
* doc/Makefile.am doc/html/*.html: cleanup makefile, checked that
docs can be rebuilt cleanly now
* include/libxml/xml*version.h*: removed include/libxml/xmlversion.h
from CVs it's generated, added include/libxml/xmlwin32version.h
also generated but which should change far less frequently.
* catalog.c nanoftp.c: made sure to include libxml.h not
libxml/xmlversion.h directly
* include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h
when compiling on WIN32 and MSC
Daniel
* xpath.c: fixed the bug generating a template loop in libxslt
when using docbook-xsl-1.4, * should filter out document nodes
* HACKING: added William
* TODO: updated
Daniel
* xpath.c: attempt to work around what seemed a gcc optimizer
bug when handling floats on i386 http://veillard.com/gcc.bug
* tree.c entities.c encoding.c: doing some cleanups while
chasing it
Daniel
- xinclude.c xpath.c xpathInternals.h xpointer.c: cleanup
w.r.t. --without-debug and other include points
- catalog.h testCatalog.c: a bit of cleanup and prepare for XML
Catalogs
- configure.in entities.h tree.h HTMLparser.c: removed
--without-corba, made the _private field mandatory
Daniel
not completely correct yet (need cascade).
- xpath.[ch]: added the few things needed to find a function name
and URI from the XPath context when it is called.
Daniel
- DOCBparser.c: small cleanup
- xmllint.c: added a --catalogs option to load catalogs from
$SGML_CATALOG_FILES
- tree.c: cleanup
- configure.in: iconv library fixup, ICONV_LIBS
Daniel
- xpath.c: simple and efficient optimization, XPath functions
aways bind to the same code, cache this
- TODO: updated (by saying some is obsolete)
Daniel
xmlXPathParseName
- xpath.c: Igor Zlatkovic suggested a change for NAN and MSC
- debugXML.c: avoid compilation problems if compiling without
HTML support, Igor Zlatkovic
- win32/libxml2/libxml2.def.src: being able to compile without
XPath on Windows
Daniel
I would like xmllint --copy --debug test/ent1 and
xmllint --debug test/ent1 to show the same result.
- xpath.c: fix a bug when trying to sort namespace nodes
Daniel
the SGML DocBook parser in libxml2 distrib:
- DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am
xmlversion.h.in: started (re)integrating the DocBook SGML parser.
- SAX.[ch]: cleanup and updates for DocBook
- debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or
ex SGML identifier changes
- valid.c: removed a static unused function.
Daniel
- SAX.c parser.c xpath.c: generating IDs when not validating
from an external parsed entity was poisoning the ID has table
with removed values. This was killing XSLT on the KDE help
browser.
Daniel
- tree.c result/ result/noent/: trying to get 52712 solved, this
also made me clean up the fact that XML output in general should
not add formating blanks by default, this changed the output of
a few tests
Daniel
Fixes in the plane:
- xpath.c: fixed a [] evaluation problem reported
- test/XPath/tests/simpleaddr: extended test
- result/XPath/simpleaddr: updated result
Daniel
Small fixes:
- xpath.c: fixed a memleak when comparing nodesets
- HTMLtree.c: don't invent the HTML doctype if not available (XSLT)
- tree.c: added a TODO
Daniel
Spring cleanup ...:
- configure.in Makefile.am config.h.in xmlversion.h.in: detect if
we need string functions
- trio.[ch] strio.[ch]: embedded the Trio-0.23 string functions
to be able to use them where needed. Applied some changes
to reduce name linking pollution and compile in only what's
needed.
- HTMLtree.c debugXML.c entities.c error.c nanoftp.c valid.c
xlink.c xmlversion.h.in xpath.c: got rid of the #ifdef
for the string manipulation functions
- xmlmemory.[ch]: removed DEBUG_MEMORY_FREED and added it automatically
to the free() function of xmlmemory.c
- entities.c HTMLtree.c parserInternals.c tree.c uri.c valid.c
xinclude.c xmlIO.c xpath.c xpointer.c: removed the MEM_CLEANUP
usage.
Daniel
- xpath.[ch]: still a lot of cleanup based on XSLT, added
xmlXPathConvert{String,Number,Boolean} to be able to make
type casts without a context stack, fixed some implementation
problems related to the absence of context at parse-time,
added xmlXPathEvalPredicate() and xmlXPathFreeCompExpr()
in the public API too
- xpointer.c xpathInternals.h: we need to know at parse time
whether we are compiling an XPointer
Daniel
- xpath.[ch] xpointer.c: restaured the Binary and API compatibility
cleaned up the parser internals, refactored XPath code, added
new compilation based APIs and cleanly separated public and
private APIs.
Daniel
stuff like libxslt right now:
- Makefile.am: detect XPath memleaks in regreson tests
- error.c: fixed and error w.r.t. error reporting still using
stderr
- hash.c: added new line at end of file
- tree.h: minor cleanup
- xpath.[ch] xpointer.[ch]: Major changes ! Separated XPath
expression parsing from evaluation, resulted in a number of
changes internally, and in XPointer. Likely to break stuff
using xpathInternals.h but should remain binary compatible,
new interfaces will be added.
Daniel
before real 0m2.483s (2.3.2 release yesterday)
current real 0m1.763s
when parsing (with tree build/freeing) db10000.xml from XSLTMark:
- xmlmemory.h HTMLparser.c HTMLtree.c entities.c parser.c
xpath.c xpointer.c tree.c uri.c valid.c xinclude.c xmlIO.c:
avoiding memcpy in production builds MEM_CLEANUP macro use
- parser.[ch] parserInternals.c: optimizations of the tightest
internal loops inside the parser. Better checking of I/O
flushing/loading conditions
- xmllint.c : added --timing
Daniel