Log

Author Commit Date CI Message
Daniel Veillard 0e05f4c2 2006-11-01T15:33:04 applied documentation patches from Markus Keim fixed one bug and added a * tree.c: applied documentation patches from Markus Keim * xmlregexp.c: fixed one bug and added a couple of optimisations while working on bug #362989 Daniel
Daniel Veillard 890fd9f9 2006-10-27T12:53:28 applied a reworked version of Usamah Malik patch to avoid growing the * HTMLparser.c: applied a reworked version of Usamah Malik patch to avoid growing the parser stack in some autoclose cases, should fix #361221 Daniel
Daniel Veillard 17970a72 2006-10-26T08:55:47 William spotted an obvious bug Daniel * xpath.c: William spotted an obvious bug Daniel
Daniel Veillard c8338f1a 2006-10-25T16:06:29 preparing release of libxml2-2.6.27 fix a small problem with preproc flags * NEWS configure.in testapi.c doc//*: preparing release of libxml2-2.6.27 * include/libxml/tree.h: fix a small problem with preproc flags Daniel
Daniel Veillard 26a45c81 2006-10-20T12:55:34 fix comment for xmlDocSetRootElement c.f. #351981 order XPath elements * tree.c: fix comment for xmlDocSetRootElement c.f. #351981 * xmllint.c: order XPath elements when using --shell Daniel
Daniel Veillard 777737ea 2006-10-17T21:23:17 applied fix from Christopher Boumenot for bug #362714 on regexps missing * xmlregexp.c: applied fix from Christopher Boumenot for bug #362714 on regexps missing ']' Daniel
Daniel Veillard 5addfebd 2006-10-17T20:32:22 applied patch from Marius Konitzer to avoid leaking in * parserInternals.c: applied patch from Marius Konitzer to avoid leaking in xmlNewInputFromFile() in case of HTTP redirection Daniel
Daniel Veillard af616a73 2006-10-17T20:18:39 fix one problem found in htmlCtxtUseOptions() and pointed in #340591 * HTMLparser.c: fix one problem found in htmlCtxtUseOptions() and pointed in #340591 Daniel
Daniel Veillard 8a82ae12 2006-10-17T20:04:10 fixed teh 2 stupid bugs affecting htmlReadDoc() and htmlReadIO() this * HTMLparser.c: fixed teh 2 stupid bugs affecting htmlReadDoc() and htmlReadIO() this should fix #340322 Daniel
Daniel Veillard c465ffc2 2006-10-17T19:39:33 applied patch from Olaf Walkowiak which should fix #334104 Daniel * xpath.c: applied patch from Olaf Walkowiak which should fix #334104 Daniel
Daniel Veillard c47d2630 2006-10-17T16:13:27 fixing HTML minimized attribute values to be generated internally if not * HTMLparser.c: fixing HTML minimized attribute values to be generated internally if not present, fixes bug #332124 * result/HTML/doc2.htm.sax result/HTML/doc3.htm.sax result/HTML/wired.html.sax: this affects the SAX event strem for a few test cases Daniel
Daniel Veillard 48519092 2006-10-17T15:56:35 fixing HTML entities in attributes parsing bug #362552 added to the * HTMLparser.c: fixing HTML entities in attributes parsing bug #362552 * result/HTML/entities2.html* test/HTML/entities2.html: added to the regression suite Daniel
Daniel Veillard dab39b56 2006-10-16T23:22:10 started to switch xmllint to use xmlSaveDoc to test #342556 fixed #342556 * xmllint.c: started to switch xmllint to use xmlSaveDoc to test #342556 * xmlsave.c: fixed #342556 easy and a whole set of problems with encodings, BOM and xmlSaveDoc() Daniel
Daniel Veillard 7e303565 2006-10-16T13:14:55 fix #348252 if the document clains to be in a different encoding in the * HTMLparser.c: fix #348252 if the document clains to be in a different encoding in the meta tag and it's obviously wrong, don't screw up the end of the content. Daniel
Daniel Veillard 68716a77 2006-10-16T09:32:17 fix a chunking and script bug #347708 Daniel * HTMLparser.c: fix a chunking and script bug #347708 Daniel
Daniel Veillard 28aac0b0 2006-10-16T08:31:18 remove a warning check with uppercase for AIX iconv() should fix #352644 * HTMLparser.c: remove a warning * encoding.c: check with uppercase for AIX iconv() should fix #352644 * doc/examples/Makefile.am: partially handle one bug report Daniel
Daniel Veillard dcec6724 2006-10-15T20:32:53 fix the patch for unreproductable #343000 but also fix a line/column * parser.c: fix the patch for unreproductable #343000 but also fix a line/column keeping error * result/errors/attr1.xml.err result/errors/attr2.xml.err result/errors/name.xml.err result/errors/name2.xml.err result/schemas/anyAttr-processContents-err1_0_0.err result/schemas/bug312957_1_0.err: affected lines in error output of the regression tests Daniel
Daniel Veillard b5f1197c 2006-10-14T08:46:40 fixing bug #344390 with xmlReconciliateNs Daniel * tree.c: fixing bug #344390 with xmlReconciliateNs Daniel
Daniel Veillard f1a27c65 2006-10-13T22:33:03 added --html --memory to test htmlReadMemory to test #321632 added various * xmllint.c: added --html --memory to test htmlReadMemory to test #321632 * HTMLparser.c: added various initialization calls which may help #321632 but not conclusive * testapi.c tree.c include/libxml/tree.h: fixed compilation with --with-minimum --with-sax1 and --with-minimum --with-schemas fixing #326442 Daniel
Daniel Veillard be58a0a3 2006-10-13T16:39:14 Adding test file, Daniel
Daniel Veillard fa0d094a 2006-10-13T16:30:56 fix a Relax-NG bug related to element content processing, fixes bug * relaxng.c: fix a Relax-NG bug related to element content processing, fixes bug #302836 Daniel
Daniel Veillard 02a49638 2006-10-13T12:42:31 fix a problem in xmlSplitQName resulting in bug #334669 Daniel * parser.c: fix a problem in xmlSplitQName resulting in bug #334669 Daniel
Daniel Veillard 402b3447 2006-10-13T10:28:21 fixed xmlIOParseDTD handling of @input in error case, Should fix #335085 * parser.c: fixed xmlIOParseDTD handling of @input in error case, Should fix #335085 * testapi.c: reset the http_proxy env variable to not waste time on regression tests Daniel
Rob Richards 6460f925 2006-10-12T21:08:29 fix Windows compile - missing xmlWrapOpen. * xmlIO.c: fix Windows compile - missing xmlWrapOpen.
Daniel Veillard 1114d000 2006-10-12T16:24:35 fixed the heuristic used when trying to detect mixed-content elememts if * parser.c: fixed the heuristic used when trying to detect mixed-content elememts if the parser wants to treat ignorable whitespaces in a non-standard way, should fix bug #300263 Daniel
Daniel Veillard a9557952 2006-10-12T12:53:15 fix a first arg error in SAX callback pointed out by Mike Hommey, and * parser.c: fix a first arg error in SAX callback pointed out by Mike Hommey, and another one still hanging around. Should fix #342737 Daniel
Daniel Veillard f4721d66 2006-10-11T21:12:10 fix comment on versions do not spend too much time digging in dumped * include/libxml/xmlversion.h.in: fix comment on versions * xmlmemory.c: do not spend too much time digging in dumped memory Daniel
Daniel Veillard 6ad5c4af 2006-10-11T16:43:06 fixed a weird error where validity context whould not show up if warnings * valid.c: fixed a weird error where validity context whould not show up if warnings were disabled pointed out by Bob Stayton * xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs * doc//* testapi.c: rebuilt the docs Daniel
Daniel Veillard 26ab0e6c 2006-10-11T12:32:51 applied patch from Mikhail Zabaluev to separate library flags for shared * libxml-2.0.pc.in: applied patch from Mikhail Zabaluev to separate library flags for shared and static builds, fixes #344594. If this bites you, use xml2-config. Daniel
Daniel Veillard 04db684b 2006-10-11T09:27:56 remove the build path recorded in the python shared module as Peter * python/Makefile.am: remove the build path recorded in the python shared module as Peter Breitenlohner pointed out, should fix #346022 Daniel
Daniel Veillard e8967e0d 2006-10-11T09:15:00 applied patch from Mikhail Zabaluev fixing the conditions of unescaping * xmlIO.c: applied patch from Mikhail Zabaluev fixing the conditions of unescaping from URL to filepath, should fix #344588. Daniel
Daniel Veillard 33a2de99 2006-10-11T08:33:22 applied patch from Peter Breitenlohner for wget detection and fix of a * configure.in xstc/Makefile.am: applied patch from Peter Breitenlohner for wget detection and fix of a Python path problem, should fix #340993 Daniel
Daniel Veillard 166e1a9b 2006-10-10T20:12:24 Adding extra test files, just in case ... Daniel
Daniel Veillard a37a6ad9 2006-10-10T20:05:45 trying to fix entities behaviour when using SAX, had to extend entities * include/libxml/entities.h entities.c SAX2.c parser.c: trying to fix entities behaviour when using SAX, had to extend entities content and hack on the entities processing code, but that should fix the long standing bug #159219 Daniel
Daniel Veillard b8efdda0 2006-10-10T12:37:14 add a new function xmlPathToUri() to provide a clean conversion when * uri.c include/libxml/uri.h: add a new function xmlPathToUri() to provide a clean conversion when setting up a base * SAX2.c tree.c: use said function when setting up doc->URL or using the xmlSetBase function. Should fix #346261 Daniel
Daniel Veillard 0da41666 2006-10-10T09:05:36 applied a portability patch from Emelyanov Alexey Daniel * xmlIO.c: applied a portability patch from Emelyanov Alexey Daniel
Daniel Veillard 2937b3ac 2006-10-10T08:52:34 applied and slightly modified a patch from Michael Day to keep _private in * parser.c: applied and slightly modified a patch from Michael Day to keep _private in the parser context when parsing external entities Daniel
Daniel Veillard 46459066 2006-10-10T08:40:04 applied patch from Ross Reedstrom, Brian West and Stefan Anca to add * python/libxml.py python/types.c: applied patch from Ross Reedstrom, Brian West and Stefan Anca to add XPointer suport to the Python bindings Daniel
Daniel Veillard 681e904e 2006-09-29T09:16:00 fixed a comment applied a patch from Michael Day to add a new function * xmlsave.c: fixed a comment * xinclude.c include/libxml/xinclude.h: applied a patch from Michael Day to add a new function providing the _private field for the generated parser contexts xmlXIncludeProcessFlagsData() Daniel
Daniel Veillard ad4e2963 2006-09-21T08:36:38 applied patch from Michael Day doing some refactoring for the catalog * xmlIO.c: applied patch from Michael Day doing some refactoring for the catalog entity loaders. Daniel
Daniel Veillard 34c647cf 2006-09-21T06:53:59 exports htmlNewParserCtxt() as Michael Day pointed out this is needed to * HTMLparser.c include/libxml/HTMLparser.h: exports htmlNewParserCtxt() as Michael Day pointed out this is needed to use htmlCtxtRead*() Daniel
Daniel Veillard 4a9fe385 2006-09-19T12:44:35 applied patch from Ben Darnell on #321545, I could not reproduce the * parser.c: applied patch from Ben Darnell on #321545, I could not reproduce the problem but 1/ this is safe 2/ it's better to be safe. Daniel
Rob Richards a02f199d 2006-09-16T14:04:26 xmlTextConcat works with comments and PI nodes (bug #355962). fix * tree.c: xmlTextConcat works with comments and PI nodes (bug #355962). * parser.c: fix resulting tree corruption when using XML namespace with existing doc in xmlParseBalancedChunkMemoryRecover.
Daniel Veillard 8ca85b25 2006-09-01T09:56:07 another patch from Emelyanov Alexey to clean up a few things in the * xmlIO.c: another patch from Emelyanov Alexey to clean up a few things in the previous patch. Daniel
Daniel Veillard e5a3f37f 2006-08-30T13:11:36 applied patch from Roland Schwingel to fix the problem with file names in * 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
Daniel Veillard b2dc5675 2006-08-22T14:45:40 fixed a bug #203125 in Red hat bugzilla, crashing PHP4 on validation * 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
Daniel Veillard ad211983 2006-08-21T08:34:11 applied patch to man pages from Daniel Leidert and regenerated Daniel * doc/xmlcatalog.1 doc/xmlcatalog_man.xml doc/xmllint.1 doc/xmllint.xml: applied patch to man pages from Daniel Leidert and regenerated Daniel
Rob Richards 9db68f0c 2006-08-16T22:48:51 Add a document to the xmlwriter structure and pass document when writing * xmlwriter.c: Add a document to the xmlwriter structure and pass document when writing attribute content for encoding support.
Rob Richards 417b74d0 2006-08-15T23:14:24 Add linefeeds to error messages allowing for consistant handling. * HTMLtree.c xmlsave.c: Add linefeeds to error messages allowing for consistant handling.
Kasimier T. Buchcik 50128ad7 2006-08-15T13:04:07 Applied the proposed fix for the documentation of xmlXPathCastToString(); * xpath.c: Applied the proposed fix for the documentation of xmlXPathCastToString(); see bug #346202.
Kasimier T. Buchcik deb58713 2006-08-15T12:52:30 While investigating bug #350247, I noticed that xmlSchemaIDCMatcher * 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 6f9b0878 2006-08-12T14:09:01 applied patch from Marton Illes to fix an allocation bug in * xmlschemas.c: applied patch from Marton Illes to fix an allocation bug in xmlSchemaXPathEvaluate should close #351032 Daniel
Daniel Veillard 1131e116 2006-08-07T11:02:54 applied patch from Bertrand Fritsch to fix a bug in * xmlschemas.c: applied patch from Bertrand Fritsch to fix a bug in xmlSchemaClearValidCtxt Daniel
Daniel Veillard ddefe9cc 2006-08-04T12:44:24 fixed the conversion of long parameters Daniel * python/generator.py: fixed the conversion of long parameters Daniel
Kasimier T. Buchcik 7b4e2e20 2006-07-13T13:07:11 Removed the automatic generation of CDATA sections for the content of the * 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 75acfeea 2006-07-13T06:29:56 applied patch from Andrew W. Nosenko to expose if zlib support was * 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
Daniel Veillard 77aad34c 2006-07-13T06:21:09 refactor to use normal warnings for entities problem and not straight SAX * SAX2.c: refactor to use normal warnings for entities problem and not straight SAX callbacks. Daniel
Kasimier T. Buchcik f896d44a 2006-07-12T15:18:08 Fixed bug #347316, reported by David Belius: The simple type, which was * 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 T. Buchcik 889b7622 2006-07-03T11:44:13 Changed xmlXPathCollectAndTest() to use xmlXPathNodeSetAddNs() when adding * 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 065abe85 2006-07-03T08:55:04 applied const'ification of strings patch from Matthias Clasen Daniel * HTMLparser.c: applied const'ification of strings patch from Matthias Clasen Daniel
Daniel Veillard a8b5413a 2006-06-29T11:50:18 patch from Andrew W. Nosenko, xmlFreeRMutex forgot to destroy the * threads.c: patch from Andrew W. Nosenko, xmlFreeRMutex forgot to destroy the condition associated to the mutex. Daniel
Kasimier T. Buchcik 2bdb12ff 2006-06-29T10:49:59 Fixed a double-free in xmlXPathCompOpEvalToBoolean(), revealed by a * xpath.c: Fixed a double-free in xmlXPathCompOpEvalToBoolean(), revealed by a Libxslt regression test.
Kasimier T. Buchcik 324c75b3 2006-06-29T10:31:35 Enhanced xmlXPathCompOpEvalToBoolean() to be also usable outside predicate * 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 T. Buchcik 8af1f0bb 2006-06-28T17:13:19 Fix a memory leak which occurred when using * xpath.c: Fix a memory leak which occurred when using xmlXPathCompiledEvalToBoolean().
William M. Brack 40cca61f 2006-06-26T18:25:40 Added code submitted by Andreas Pakulat to provide node equality, * 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 T. Buchcik 631ea817 2006-06-26T16:47:25 Added xmlXPathCompiledEvalToBoolean() to the API and adjusted/added * 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 T. Buchcik 6422d916 2006-06-26T14:31:53 Fixed an bug in xmlXPathCompExprAdd(): the newly introduced field * 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 @rewriteType is randomly set to the value 1. A test (hardcoding the intial value to 1) revealed that the 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 T. Buchcik 766ed7e1 2006-06-23T16:32:41 Fixed an error in xmlXPathEvalExpr(), which was introduced with the * 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 T. Buchcik 9bca933a 2006-06-19T10:26:42 Added optimization for positional predicates (only short-hand form "[n]"), * xpath.c: Added optimization for positional predicates (only short-hand form "[n]"), which have a preceding predicate: "/foo[descendant::bar][3]".
Daniel Veillard dbcbbd26 2006-06-18T19:55:20 try to fix the crash raised by the parser in recover mode as pointed by * parser.c: try to fix the crash raised by the parser in recover mode as pointed by Ryan Phillips Daniel
Daniel Veillard a4bd3692 2006-06-18T17:40:53 patch from Nic Ferrier to provide a better type mapping from XPath to * python/types.c: patch from Nic Ferrier to provide a better type mapping from XPath to python Daniel
Daniel Veillard 381ff364 2006-06-18T17:31:31 applied patch from Boz for VMS and reporting Schemas errors. Daniel * runtest.c: applied patch from Boz for VMS and reporting Schemas errors. Daniel
Daniel Veillard cc047b33 2006-06-18T17:20:33 applied patch from Felipe Contreras when compiling with --with-minimum * testapi.c: applied patch from Felipe Contreras when compiling with --with-minimum Daniel
Kasimier T. Buchcik 978039bb 2006-06-16T19:46:26 Fixed a bug in xmlDOMWrapAdoptNode(); the tree traversal stopped if the * 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 T. Buchcik 1d0f7ad6 2006-06-12T11:25:50 Adjusted the result of a regression test, since the fix of * result/pattern/namespaces: Adjusted the result of a regression test, since the fix of xmlGetNodePath() revealed a bug in this test result.
Kasimier T. Buchcik 43ceb1ec 2006-06-12T11:08:18 Got rid of a compiler warning in xmlGetNodePath(). * tree.c: Got rid of a compiler warning in xmlGetNodePath().
Kasimier T. Buchcik d38c63f3 2006-06-12T10:58:24 Fixed xmlGetNodePath() to generate the node test "*" for elements in the * 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 T. Buchcik 803e37ac 2006-06-09T19:46:46 Clarified in the docs that the tree must not be tried to be modified if * 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 (#344390).
Daniel Veillard f781dbae 2006-06-09T13:34:49 Fix the breakages introduced by amaya, Daniel
Daniel Veillard fabafd54 2006-06-08T08:16:33 preparing release of 2.6.26 Daniel * configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.26 Daniel
Kasimier T. Buchcik 7cb3fa9d 2006-06-06T15:27:46 Fixed self-invented a segfault in xmlXPathCtxtCompile(), when the * 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 69839ba1 2006-06-06T13:27:03 preparing release of 2.6.25 Daniel * configure.ini NEWS doc//* libxml.spec.in : preparing release of 2.6.25 Daniel
Kasimier T. Buchcik 080152c9 2006-06-06T09:42:15 Enabled the compound traversal again; I added a check to use this only if * 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 bf630c0d 2006-06-06T08:21:41 fix bug #343968, include='text' can't lead to a recursion. Daniel * xinclude.c: fix bug #343968, include='text' can't lead to a recursion. Daniel
Kasimier T. Buchcik c42e9f64 2006-06-02T20:48:50 Disabled the compound traversal for the release; I need first to assure * 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 1b2be101 2006-05-31T20:53:43 fixed memory leak in xpath error reporting * xpath.c: fixed memory leak in xpath error reporting
Daniel Veillard f79fbfc0 2006-05-31T13:35:28 applied patch from Olli Savia for LynxOS Daniel * libxml.h triodef.h: applied patch from Olli Savia for LynxOS Daniel
Kasimier T. Buchcik 5869469f 2006-05-31T12:37:28 Changed the name of the recently added public function * 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 T. Buchcik df0ba264 2006-05-30T19:45:37 Optimized xmlXPathNodeCollectAndTest() and xmlXPathNodeCollectAndTestNth() * 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 "//foo" to 50%. Together with the XPath object cache this all significantly speeds up libxslt.
Kasimier T. Buchcik e5f810f6 2006-05-30T09:41:25 A warning will now be reported in the value of the XSD attribute * xmlschemas.c: A warning will now be reported in the value of the XSD attribute 'schemaLocation' does not consist of tuples (namespace-name, document-URI). A warning will be reported if a schema document could not be found at the specified location (via 'schemaLocation' or 'noNamespaceSchemaLocation'). * include/libxml/xmlerror.h: Added XML_SCHEMAV_MISC to xmlParserErrors.
Kasimier T. Buchcik 75af2a87 2006-05-30T09:29:23 Enhanced xmlXPathNodeCollectAndTest() to avoid recreation (if possible) of * 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 T. Buchcik a7248443 2006-05-29T16:15:36 Added an XPath object cache. It sits on an xmlXPathContext and need to be * 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 T. Buchcik 984a9aed 2006-05-24T09:02:35 Removed a memcpy if xmlXPathNodeSetMerge(); it seems we really need to * 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 T. Buchcik 5691f436 2006-05-22T15:19:55 Optimization of count(): eliminated sorting (see bug #165547). * xpath.c: Optimization of count(): eliminated sorting (see bug #165547). Optimization of XPATH_OP_FILTER if the predicate is a [1] (disable with XP_OPTIMIZED_FILTER_FIRST if it produces trouble). Tiny opt in xmlXPathNodeSetMerge().
Rob Richards a512d76e 2006-05-22T11:34:44 Revert behavior change in xmlSetProp to handle attributes with colons in * tree.c: Revert behavior change in xmlSetProp to handle attributes with colons in name and no namespace.
Kasimier T. Buchcik 64f7e1a8 2006-05-19T19:59:54 Substituted all remaining calls to xmlXPathCmpNodes() for * xpath.c: Substituted all remaining calls to xmlXPathCmpNodes() for xmlXPathCmpNodesExt(). Tiny further enhancement of xmlXPathCmpNodesExt(). Added additional checks in various code parts to avoid calling sorting or merging functions if the node-set(s) don't need them; i.e., if they are empty or contain just one node.
Kasimier T. Buchcik 2bdabbd7 2006-05-19T11:26:15 Optimized the comparison for non-element nodes in xmlXPathCmpNodesExt(); * xpath.c: Optimized the comparison for non-element nodes in xmlXPathCmpNodesExt(); the comparison is used for sorting of node-sets. This enhancement is related to bug #165547. There are other places where the old comparison function xmlXPathCmpNodes() is still called, but I currently don't know exactly what those calls are for; thus if they can be substituted (if it makes sense) for the new function.
Kasimier T. Buchcik 6ed2eb47 2006-05-16T15:13:37 Applied patch from Rob Richards, fixing a potential memory leak in * xpath.c: Applied patch from Rob Richards, fixing a potential memory leak in xmlXPathTryStreamCompile(), when a list of namespaces was assigned to the XPath compilation context; here a new namespace list was created and passed to xmlPatterncompile(); but this list was not freed afterwards. Additionally we avoid now in xmlXPathTryStreamCompile() to compile the expression, if it has a colon - indicating prefixed name tests - and no namespace list was given. The streaming XPath mechanism needs a namespace list at compilation time (unlike normal XPath, where we can bind namespace names to prefixes at execution time). * pattern.c: Enhanced to use a string dict for local-names, ns-prefixes and and namespace-names. Fixed xmlStreamPushInternal() not to use string-pointer comparison if a dict is available; this won't work, since one does not know it the given strings originate from the same dict - and they normally don't do, since e.g. namespaces are hold on xmlNs->href. I think this would be worth an investigation: if we can add a @doc field to xmlNs and put the @href in to a additionan namespace dict hold in xmlDoc. Daniel will surely not like this idea :-) But evaluation of tons of elements/attributes in namespaces with xmlStrEqual() isn't the way we should go forever.
Kasimier T. Buchcik 9b02e295 2006-05-11T16:25:44 Fixed bug #341337, reported by David Grohmann. The code expected a node * xmlschemas.c: Fixed bug #341337, reported by David Grohmann. The code expected a node (xmlNodePtr) on the info for a non-existent default attribute, which clearly cannot be expected, since the attribute does not exist. I can only guess that this sneaked trying to eliminate the query for the owner-element, which is unavoidable actually. Note that creation of default attributes won't have an effect if validating via SAX/XMLReader; i.e., the processor won't fire additional start-attribute events (I'm not even sure if Libxml2 has such a SAX-event; I think it hands them all over in the start-element event).
Kjartan Maraas 7c7c0590 2006-05-10T08:58:19 Shut up CVS