Action against software patents Gnome2 Logo W3C Logo Red Hat Logo
Made with Libxml2 Logo

ChangeLog last entries of libxml2

Developer Menu
API Indexes
Related links

Daniel Veillard Fri Sep 1 11:52:55 CEST

  • xmlIO.c: another patch from Emelyanov Alexey to clean up a few things in the previous patch.

Daniel Veillard Wed Aug 30 15:10:09 CEST

  • xmlIO.c: applied patch from Roland Schwingel to fix the problem with file names in UTF-8 on Windows, and compat on older win9x versions.

Daniel Veillard Tue Aug 22 16:51:22 CEST

  • valid.c: fixed a bug #203125 in Red hat bugzilla, crashing PHP4 on validation errors, the heuristic to guess is a vctxt user pointer is the parsing context was insufficient.

Daniel Veillard Mon Aug 21 10:40:10 CEST

  • doc/xmlcatalog.1 doc/xmlcatalog_man.xml doc/xmllint.1 doc/xmllint.xml: applied patch to man pages from Daniel Leidert and regenerated

Rob Richards Thu Aug 17 00:48:31 CEST

  • xmlwriter.c: Add a document to the xmlwriter structure and pass document when writing attribute content for encoding support.

Rob Richards Wed Aug 16 01:15:12 CEST

  • HTMLtree.c xmlsave.c: Add linefeeds to error messages allowing for consistant handling.

Kasimier Buchcik Tue Aug 15 15:02:18 CEST

  • xpath.c: Applied the proposed fix for the documentation of xmlXPathCastToString(); see bug #346202.

Kasimier Buchcik Tue Aug 15 14:49:18 CEST

  • xmlschemas.c: While investigating bug #350247, I noticed that xmlSchemaIDCMatcher structs are massively recreated although only a maximum of 3 structs is used at the same time; added a cache for those structures to the validation context.

Daniel Veillard Sat Aug 12 16:12:53 CEST

  • xmlschemas.c: applied patch from Marton Illes to fix an allocation bug in xmlSchemaXPathEvaluate should close #351032

Daniel Veillard Mon Aug 7 13:08:46 CEST

  • xmlschemas.c: applied patch from Bertrand Fritsch to fix a bug in xmlSchemaClearValidCtxt

Daniel Veillard Fri Aug 4 14:50:41 CEST

  • python/generator.py: fixed the conversion of long parameters

Kasimier Buchcik Thu Jul 13 15:03:11 CEST

  • xmlsave.c: Removed the automatic generation of CDATA sections for the content of the "script" and "style" elements when serializing XHTML. The issue was reported by Vincent Lefevre, bug #345147.
  • result/xhtml1 result/noent/xhtml1: Adjusted regression test results due to the serialization change described above.

Daniel Veillard Thu Jul 13 08:32:21 CEST

  • configure.in parser.c xmllint.c include/libxml/parser.h include/libxml/xmlversion.h.in: applied patch from Andrew W. Nosenko to expose if zlib support was compiled in, in the header, in the feature API and in the xmllint --version output.

Daniel Veillard Thu Jul 13 08:24:14 CEST

  • SAX2.c: refactor to use normal warnings for entities problem and not straight SAX callbacks.

Kasimier Buchcik Wed Jul 12 17:13:03 CEST

  • xmlschemas.c: Fixed bug #347316, reported by David Belius: The simple type, which was the content type definition of a complex type, which in turn was the base type of a extending complex type, was missed to be set on this extending complex type in the derivation machinery.

Kasimier Buchcik Mon Jul 3 13:36:43 CEST

  • xpath.c: Changed xmlXPathCollectAndTest() to use xmlXPathNodeSetAddNs() when adding a ns-node in case of NODE_TEST_TYPE (the ns-node was previously added plainly to the list). Since for NODE_TEST_ALL and NODE_TEST_NAME this specialized ns-addition function was already used, I assume it was missed to be used with NODE_TEST_TYPE.

Daniel Veillard Mon Jul 3 10:57:33 CEST

  • HTMLparser.c: applied const'ification of strings patch from Matthias Clasen

Daniel Veillard Thu Jun 29 13:51:12 CEST

  • threads.c: patch from Andrew W. Nosenko, xmlFreeRMutex forgot to destroy the condition associated to the mutex.

Kasimier Buchcik Thu Jun 29 12:48:00 CEST

  • xpath.c: Fixed a double-free in xmlXPathCompOpEvalToBoolean(), revealed by a Libxslt regression test.

Kasimier Buchcik Thu Jun 29 12:28:07 CEST

  • xpath.c: Enhanced xmlXPathCompOpEvalToBoolean() to be also usable outside predicate evaluation; the intention is to use it via xmlXPathCompiledEvalToBoolean() for XSLT tests, like in <xsl:if test="/foo">.

Kasimier Buchcik Wed Jun 28 19:11:16 CEST

  • xpath.c: Fix a memory leak which occurred when using xmlXPathCompiledEvalToBoolean().

William Brack Mon Jun 26 17:24:28 UTC

  • python/libxml.c, python/libxml.py, python/tests/compareNodes.py, python/tests/Makefile.am: Added code submitted by Andreas Pakulat to provide node equality, inequality and hash functions, plus a single test program to check the functions (bugs 345779 + 345961).

Kasimier Buchcik Mon Jun 26 18:38:51 CEST

  • xpath.c: Added xmlXPathCompiledEvalToBoolean() to the API and adjusted/added xmlXPathRunEval(), xmlXPathRunStreamEval(), xmlXPathCompOpEvalToBoolean(), xmlXPathNodeCollectAndTest() to be aware of a boolean result request. The new function is now used to evaluate predicates.

Kasimier Buchcik Mon Jun 26 16:22:50 CEST

  • xpath.c: Fixed an bug in xmlXPathCompExprAdd(): the newly introduced field @rewriteType on xmlXPathStepOp was not initialized to zero here; this could lead to the activation of the axis rewrite code in xmlXPathNodeCollectAndTest() when resulting incorrect behaviour is similar to the behaviour as described by Arnold Hendriks on the mailing list; so I hope that will fix the issue.

Kasimier Buchcik Fri Jun 23 18:26:08 CEST

  • xpath.c: Fixed an error in xmlXPathEvalExpr(), which was introduced with the addition of the d-o-s rewrite and made xpath.c unable to compile if XPATH_STREAMING was not defined (reported by Kupriyanov Anatolij - #345752). Fixed the check for d-o-s rewrite to work on the correct XPath string, which is ctxt->base and not comp->expr in this case.

Kasimier Buchcik Mon Jun 19 12:23:41 CEST

  • xpath.c: Added optimization for positional predicates predicate: "/foo[descendant::bar][3]".

Daniel Veillard Sun Jun 18 20:59:02 EDT

  • parser.c: try to fix the crash raised by the parser in recover mode as pointed by Ryan Phillips

Daniel Veillard Sun Jun 18 18:44:56 EDT

  • python/types.c: patch from Nic Ferrier to provide a better type mapping from XPath to python

Daniel Veillard Sun Jun 18 18:35:50 EDT

  • runtest.c: applied patch from Boz for VMS and reporting Schemas errors.

Daniel Veillard Sun Jun 18 18:22:25 EDT

  • testapi.c: applied patch from Felipe Contreras when compiling with --with-minimum

Kasimier Buchcik Fri Jun 16 21:37:44 CEST

  • tree.c include/libxml/tree.h: Fixed a bug in xmlDOMWrapAdoptNode(); the tree traversal stopped if the very first given node had an attribute node :-( This was due to a missed check in the traversal mechanism. Expanded the xmlDOMWrapCtxt: it now holds the namespace map used in xmlDOMWrapAdoptNode() and xmlDOMWrapCloneNode() for reusal; so the map-items don't need to be created for every cloning/adoption. Added a callback function to it for retrieval of xmlNsPtr to be set on node->ns; this is needed for my custom handling of ns-references in my DOM wrapper. Substituted code which created the XML namespace decl on the doc for a call to xmlTreeEnsureXMLDecl(). Removed those nastly "warnigns" from the docs of the clone/adopt functions; they work fine on my side.

Kasimier Buchcik Mon Jun 12 13:23:11 CEST

  • result/pattern/namespaces: Adjusted the result of a regression test, since the fix of xmlGetNodePath() revealed a bug in this test result.

Kasimier Buchcik Mon Jun 12 13:06:03 CEST

  • tree.c: Got rid of a compiler warning in xmlGetNodePath().

Kasimier Buchcik Mon Jun 12 12:54:25 CEST

  • tree.c: Fixed xmlGetNodePath() to generate the node test "*" for elements in the default namespace, rather than generating an unprefixed named node test and loosing the namespace information.

Kasimier Buchcik Fri Jun 9 21:45:02 CEST

  • include/libxml/parser.h: Clarified in the docs that the tree must not be tried to be modified if using the parser flag XML_PARSE_COMPACT as suggested by Stefan Behnel

Daniel Veillard Tue Jun 6 17:50:43 CEST

  • configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.26

Kasimier Buchcik Tue Jun 6 17:25:23 CEST

  • xpath.c: Fixed self-invented a segfault in xmlXPathCtxtCompile(), when the expression was not valid and @comp was NULL and I tried to do the d-o-s rewrite.

Daniel Veillard Tue Jun 6 15:19:57 CEST

  • configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.25

Kasimier Buchcik Tue Jun 6 11:28:15 CEST

  • xpath.c: Enabled the compound traversal again; I added a check to use this only if the have an expression starting with the document node; so in the case of "//foo", we already know at compilation-time, that there will be only 1 initial context node. Added the rewrite also to xmlXPathEvalExpr().

Daniel Veillard Tue Jun 6 10:23:10 CEST

  • xinclude.c: fix bug #343968, include='text' can't lead to a recursion.

Kasimier Buchcik Fri Jun 2 22:47:08 CEST

  • xpath.c: Disabled the compound traversal for the release; I need first to assure that this is done only if we have 1 initial node.

Aleksey Sanin Wed May 31 13:53:41 PST

  • xpath.c: fixed memory leak in xpath error reporting

Daniel Veillard Wed May 31 15:30:16 CEST

  • libxml.h triodef.h: applied patch from Olli Savia for LynxOS

Kasimier Buchcik Wed May 31 14:33:00 CEST

  • xpath.c include/libxml/xpath.h runsuite.c: Changed the name of the recently added public function xmlXPathContextSetObjectCache() to xmlXPathContextSetCache(); so a more generic one, in case we decide to cache more things than only XPath objects.

Kasimier Buchcik Tue May 30 21:36:16 CEST

  • xpath.c: Optimized xmlXPathNodeCollectAndTest() and xmlXPathNodeCollectAndTestNth() to evaluate a compound traversal of 2 axes when we have a "//foo" expression. This is done with a rewrite of the XPath AST in xmlXPathRewriteDOSExpression(); I added an additional field to xmlXPathStepOp for this (but the field's name should be changed). The mechanism: the embracing descendant-or-self axis traversal (also optimized to return only nodes which can hold elements), will produce context nodes for the inner traversal of the child axis. This way we avoid a full node-collecting traversal of the descendant-or-self axis. Some tests indicate that this can reduce execution time of all significantly speeds up libxslt.

Kasimier Buchcik Tue May 30 11:38:47 CEST

  • xmlschemas.c: A warning will now be reported in the value of the XSD attribute 'schemaLocation' does not consist of tuples if a schema document could not be found at the specified location (via 'schemaLocation' or
  • include/libxml/xmlerror.h: Added XML_SCHEMAV_MISC to xmlParserErrors.

Kasimier Buchcik Tue May 30 11:21:34 CEST

  • xpath.c: Enhanced xmlXPathNodeCollectAndTest() to avoid recreation (if possible) of the node-set which is used to collect the nodes in the current axis for the currect context node. Especially for "//foo" this will decrease dramatically the number of created node-sets, since for each node in the result node-set of the evaluation of descendant-or-self::node() a new temporary node-set was created. Added node iterator xmlXPathNextChildElement() as a tiny optimization for child::foo.

Kasimier Buchcik Mon May 29 18:06:17 CEST

  • xpath.c include/libxml/xpath.h: Added an XPath object cache. It sits on an xmlXPathContext and need to be explicitely activated (or deactivated again) with xmlXPathContextSetObjectCache(). The cache consists of 5 lists for node-set, string, number, boolean and misc XPath objects. Internally the xpath.c module will use object- deposition and -acquisition functions which will try to reuse as many XPath objects as possible, and fallback to normal free/create behaviour if no cache is available or if the cache is full.
  • runsuite.c: Adjusted to deactivate the cache for XML Schema tests if a cache-creation is turned on by default for the whole library, e.g. for testing purposes of the cache. It is deactivated here in order to avoid confusion of the memory leak detection in runsuite.c.

Kasimier Buchcik Wed May 24 10:54:25 CEST

  • xpath.c: Removed a memcpy if xmlXPathNodeSetMerge(); it seems we really need to walk the whole list, since those nastly namespace nodes need to be added with xmlXPathNodeSetDupNs(); thus a pure memcpy is not possible. A flag on the node-set indicating if namespace nodes are in the set would help here; this is the 3rd flag which would be usefull with node-sets. The current flags I have in mind: 1) Is a node-set already sorted? This would allow for rebust and optimizable sorting behaviour. 2) Of what type are the nodes in the set (or of mixed type)? This would allow for faster merging of node-sets. 3) Are namespace nodes in the set? This would allow to skipp all the namespace node specific special handling. Faster node-set merging if the first set is empty; just memcpy the set.

Kasimier Buchcik Mon May 22 17:14:00 CEST

  • xpath.c: Optimization of count(): eliminated sorting predicate is a [1] (disable with XP_OPTIMIZED_FILTER_FIRST if it produces trouble). Tiny opt in xmlXPathNodeSetMerge().

Daniel Veillard