Action against software patents Gnome2 Logo W3C logo Red Hat Logo
Made with Libxslt Logo

ChangeLog last entries of libxslt

API Menu
Related links
API Indexes

Daniel Veillard Mon Aug 21 10:46:25 CEST

  • doc/xslt.html python/tests/ xsltproc/xsltproc.c: applied patch from Daniel Leidert to fix some typo
  • xsltproc.xml xsltproc.1: applied another patch from Daniel Leidert and regenerated

Daniel Veillard Wed Aug 16 17:39:04 CEST

  • xsltproc/xsltproc.c: --xinclude should also force XInclude processing on the stylesheets themselves, raised by Daniel Leidert

  • libxslt/transform.c libxslt/variables.c libxslt/xsltInternals.h: Fixed restoring the context doc for XPath in xsltForEach(). Eliminated the use of @tmpDoc of the transformation context.

Kasimier Buchcik Thu Aug 10 13:40:35 CEST

  • libxslt/preproc.c: Added missing QName-validation of some attributes of XSLT-elements. This fixes bug #304921, reported by Frans Englich.

Kasimier Buchcik Thu Aug 10 13:27:48 CEST

  • libxslt/transform.c: As suggested by Bill, I changed xsltShallowCopyNsNode() to return an xmlNsPtr instead of an int. The fix of bug #350085 is OK; i.e. the removal of the call to xsltFreeRVTs() in xsltApplyStylesheetInternal(). I think I tried to clear the transformation context as much as possible, in case it is reused; Daniel informed me on the list that reusing the context is not intended, so no need anymore to try to free the fragments immediately after the transformation.

William Brack Wed Aug 9 13:22:13 PDT

  • libxslt/transform.c: Fixed problem with cleanup of RVT's, should clear bug350085; cleaned up most warnings (still a problem in xsltShallowCopyNsNode)
  • trivial warning cleanup in libxslt/[extensions.c, namespaces.c, xslt.c and xsltInternals.h] and libexslt/functions.c

Daniel Veillard Fri Aug 4 14:50:41 CEST

  • python/ fixed the conversion of long parameters

Daniel Veillard Wed Jul 19 15:06:39 EDT

  • python/types.c: fix float and boolean XPath conversions
  • libxslt/xsltutils.c: try to fix Stephane Bidoul attempt at setting XInclude support.

William Brack Mon Jul 17 11:15:23 PDT

  • Updated tests affected by recent library changes - tests/general/bug-1-.out, tests/general/bug-24-.out, tests/keys/month.out : (<t></t> now becomes <t/>); tests/general/bug-41-.xsl and tests/general/bug-43.xsl : call-template and apply-template, where the template has no parameter but one is supplied (var should not be affected) tests/general/bug-145.err : changed error text

Kasimier Buchcik Fri Jul 14 18:16:59 CEST

  • libxslt/attributes.c libxslt/documents.c libxslt/functions.c libxslt/keys.c libxslt/namespaces.c libxslt/pattern.c libxslt/preproc.c libxslt/templates.c libxslt/templates.h libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c libxslt/xsltutils.h libexslt/common.c libexslt/dynamic.c libexslt/functions.c libexslt/strings.c: Committing again, since I forgot to switch from win to linux linebreaks in the files.

Kasimier Buchcik Fri Jul 14 17:55:42 CEST

  • libxslt/attributes.c libxslt/documents.c libxslt/functions.c libxslt/keys.c libxslt/namespaces.c libxslt/pattern.c libxslt/preproc.c libxslt/templates.c libxslt/templates.h libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c libxslt/xsltutils.h libexslt/common.c libexslt/dynamic.c libexslt/functions.c libexslt/strings.c: Refactored xsltValueOf(). Changed to use xmlXPathCastToString() directly, rather than creating an intermediate object with xmlXPathConvertString(). This now does not add a text-node to the result if the string is empty (this has impact on serialization, since an empty text-node is serialized as Refactored other functions in transform.c: Mostly code cleanup/restructuring. Minimized number of function variables for instruction which eat up function stack memory when recursing templates (xsltIf(), xsltChoose(), xsltApplyTemplates(), xsltCallTemplate()). Changed XSLT tests to use xmlXPathCompiledEvalToBoolean(). Implemented redefinition checks at compilation-time and eliminating them at transformation time in the refactored code paths. Introduced the field @currentTemplateRule on xsltTransformContext to reflect the "Current Template Rule" as defined by the spec. NOTE that ctxt->currentTemplateRule and ctxt->templ is not the same; the former is the "Current Template Rule" as defined by the XSLT spec, the latter is simply the template struct being currently processed by Libxslt. Added XML_COMMENT_NODE and XML_CDATA_SECTION_NODE to the macro IS_XSLT_REAL_NODE. Misc code cleanup/restructuring and everything else I already forgot. Refactored lifetime of temporary result tree fragments. Substituted all calls to the now deprecated xsltRegisterTmpRVT() for the new xsltRegisterLocalRVT(). Fragments of xsl:variable and xsl:param are freed when the variable/pram is freed. Fragments created when evaluating a "select" of xsl:varible and xsl:param are also bound to the lifetime of the var/param. EXSLT's func:function now uses the following functions to let take care the transformation's garbage collector of returned tree fragments: xsltExtensionInstructionResultRegister(), xsltExtensionInstructionResultFinalize() Fixes: #339222 - xsl:param at invalid position inside an xsl:template is not catched #346015 - Non-declared caller-parameters are accepted #160400 - Compiles invalid XSLT; unbound variable accepted #308441 - namespaced parameters become unregistered #307103 - problem with proximity position in predicates of match patterns #328218 - problem with exsl:node-set() when converting strings to node sets #318088 - infinite recursion detection #321505 - Multiple contiguous CDATA in output #334493 - "--param" option does not have root context #114377 - weird func:result/xsl:variable/exsl:node-set interaction #150309 - Regression caused by fix for 142768

Kasimier Buchcik Wed Jun 21 15:13:27 CEST

  • tests/docs/bug-54.xml tests/general/bug-54.out tests/general/bug-99.out tests/general/bug-136.out tests/REC/test-7.1.3.xsl tests/REC/test-7.1.4.xsl tests/REC/test-7.3.xsl tests/REC/test-7.4.xsl: Fixed incorrect regression tests/results.

Kasimier Buchcik Mon Jun 19 13:33:50 CEST

  • libxslt/attributes.c libxslt/attrvt.c libxslt/namespaces.c libxslt/namespaces.h libxslt/preproc.c libxslt/templates.c libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c: Merged all the namespace lookup/create/disable functions into xsltGetSpecialNamespace(). Changed xsltGetNamespace() and xsltGetPlainNamespace() to call xsltGetSpecialNamespace(), but kept the ns-aliasing mechanism; the ns-aliasing needs to be removed when we move to the refactored code, which applies ns-alias only at compilaton time. Refactored xsltElementComp() (preproc.c); enhanced error reports. Fixed: if the "namespace" attribute was not given, then this performed incorrectly only a lookup for a default namespace; i.e., without taking any prefix on the "name" attribute into account. Refactored xsltElement() (transform.c); enhanced error reports. Refactored xsltAttributeComp() (preproc.c). Added namespace lookup as in xsltElementComp(). Enhanced error reports. Refactored xsltAttribute() (transform.c); enhanced error reports. xsltCopyTreeInternal(): eliminated the need to call xmlGetNsList() for every element in the tree; this needs to be done only for the top-most elements. For subsequent elements reconcile only the ns-declarations. Disallowed setting of ns-declarations if children have been already added to an element. Removed ns-aliasing code where necessary. xsltCopyProp(): disallowed setting of attribute nodes if children have been already added to an element. xsltCopy(): removed the incorrect skipping of attributes in the XSLT namespace. Removed the incorrect ns-aliasing for attributes. Changed to use the introduced function xsltShallowCopyAttr(). xsltShallowCopyAttr(): Centralized all attribute-copy related code in this function. It will now be called by xsltCopyTreeInternal(), xsltCopyOf() and xsltCopy(). xsltCopyAttrListNoOverwrite(): Renamed. Refactored. Optimized to use xsltGetSpecialNamespace() and xmlNewDocProp(). Further substitution of various scattered namespace-lookup related code for the use of xsltGetSpecialNamespace(). xsltAttrTemplateProcess(): Refactored. Removed the incorrect processing of attribute-sets. Attribute sets need to be applied before adding any normal attribute of the literal result element; this is now done in xsltAttrListTemplateProcess(). Fixed to ensure that the ns-prefix of the overwriting attribute is used. xsltAttrListTemplateProcess(): Refactored. Moved semantics from xsltAttrTemplateProcess() over to this function in order to optimize processing of multiple attributes. This does not call xsltAttrTemplateProcess() anymore. Fixed: do not exclude the XSLT namespace after ns-aliasing have beed applied. The IFDEFed-out refactored code fixes the following issues: by by Oleg Paraschenko) elements. Already enabled fixes: default namespace in scope reported by Oleg Paraschenko some cases resolved to the default namespace

Daniel Veillard Mon Jun 12 16:34:15 CEST

  • doc/xsltproc.1 doc/xsltproc.xml: more info about --output from Daniel Leidert c.f. #344654

Daniel Veillard Tue Jun 6 17:16:33 CEST

  • doc//*: preparing release of 1.1.17

Kasimier Buchcik Tue Jun 6 11:44:34 CEST

  • libxslt/attributes.c: Eliminated a tiny difference wrt to the old behaviour in the naming of newly generated ns-decls in xsltAttributeInternal().

Daniel Veillard Thu Jun 1 15:06:31 CEST

  • fix a problem in Python detection

Kasimier Buchcik Thu Jun 1 13:58:19 CEST

  • libxslt/attributes.c libxslt/variables.c libxslt/transform.c libxslt/xslt.c: Next step in the refactored code: enhanced xsl:attribute; enhanced xsltCopyProp. Added the creation of an XPath cache in xsltNewTransformContext().

Kasimier Buchcik Wed May 31 22:32:44 CEST

  • libxslt/transform.c: Fixed a difference in processing of xsl:value-of and xsl:text wrt to merging of strings of output-escaped text-nodes. This difference made the optimized string-merging mechanism run out of sync, which led to segfaults in subsequent string reallocations. See bug #343411, reported by Grzegorz Kaczor.
  • xslt.c: Added check for ctxt->internalized when we parse xsl:text and internalize the strings.

Kasimier Buchcik Mon May 22 10:32:57 CEST

  • libxslt/attributes.c libxslt/documents.c libxslt/extensions.c libxslt/keys.c libxslt/pattern.c libxslt/preproc.c libxslt/templates.c libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h: Next tiny step of refactoring - mostly bug fixes and cosmetic changes. Changes outside of the refactored code: 1) Optimized xsl:attribute if the content consists of just 1 text node. 2) Optimized computation of xsl:key. The keys will now be computed for a specific document not until the first call of a key() function; here only the keys with the specific name used by key() are computed. This means that this now avoids computation of all keys for all loaded input documents (even if no key() was called on them). One exception is the scenario where a key() is used in a template's match pattern; in this case all keys are computed for a document if there's a chance that a "keyed" template could match a node (this could still be optimized a bit).

Kasimier Buchcik Mon May 15 22:32:13 CEST

  • libxslt/namespaces.c libxslt/attributes.c: Fixed bug #302020, reported by Thomas Blatter.

Kasimier Buchcik Fri May 12 23:23:06 CEST

  • libxslt/documents.c libxslt/namespaces.c libxslt/preproc.c libxslt/transform.c libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c: Next step of refactoring. For more details see bug #341588. I applied the suggestion of Jerome Pesenti to the refactored compilation context (accessible via the compilation context) is now reused for compilation of expressions at compilation-time; this should reduce compilation time to 50% for avarage stylesheets.

Kasimier Buchcik Thu May 11 22:12:22 CEST

  • libxslt/extensions.c: Changed a comment to indicate that a specific bug was already fixed.

Kasimier Buchcik Fri May 5 23:10:47 CEST

  • libxslt/xsltInternals.h libxslt/attributes.c libxslt/documents.c libxslt/extensions.c libxslt/extensions.h libxslt/functions.c libxslt/imports.c libxslt/keys.c libxslt/preproc.c libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltutils.c libxslt/xsltutils.h libexslt/functions.c: Next step of refactoring (plus some bug-fixes). For more details see #340780.

Kasimier Buchcik Fri May 5 14:31:53 CEST

  • tests/exslt/common/node-set.5.out tests/exslt/sets/difference.1.out tests/exslt/functions/function.6.out: Reverting the changes; I'll rather change the processing stylesheet documents in a way that they will produce the same results for broken and stricter whitespace-stripping.

Kasimier Buchcik Thu May 4 22:55:26 CEST

  • tests/exslt/common/node-set.5.out tests/exslt/sets/difference.1.out tests/exslt/functions/function.6.out: Changed regression test results (bug #340684). Those will now produce regression errors; so we need to fix the processor.

Daniel Veillard Mon May 1 17:39:27 EDT

  • NEWS doc//*: preparing release of 1.1.16, updated and regenerated the docs.

Daniel Veillard Tue Apr 25 15:02:42 CEST

  • applied patch from Joseph Sacco changing slightly the python detection scheme should fix bug #338527

Kasimier Buchcik Wed Apr 12 13:35:45 CEST

  • libxslt/attributes.c libxslt/preproc.c libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltInternals.h libxslt/xsltutils.c libxslt/xsltutils.h: Refactored the internal structures into specialized structures and adjusted the code to work with those new structures. I didn't yet (we should in the future) renamed any fields of the old structures in order to avoid changing too much code. Introduced the internal structure xsltCompilerCtxt to be used for storage and control of the compilation. Optimized the way lists of in-scope namespaces are created and stored; this will now only generate a new list if really needed, i.e. if we encounter a ns-decl. All this changes here are IFDEFed out with XSLT_REFACTORED.

Daniel Veillard Thu Apr 6 10:16:59 CEST

  • doc/xsltproc.1 doc/xsltproc.xml: applied man page improvement from Daniel Leidert

Kasimier Buchcik Thu Mar 30 17:23:52 CEST

  • tests/general/bug-36-inc.xsl tests/general/bug-37-inc.xsl tests/general/bug-65-inc.xsl tests/general/bug-100.xsl tests/REC/test-15-1.xsl tests/REC/test-7.1.1-3.xsl tests/namespaces/extra2.xsl tests/extensions/module.xsl tests/plugins/plugin.xsl python/tests/ python/tests/ Fixed regression tests wrt usage of the attributes "exclude-result-prefixes" and "extension-element-prefixes". test-7.1.1-3.xsl fails now, since the code still does not exclude ns-decls correctly.

Kasimier Buchcik Thu Mar 30 17:11:53 CEST

  • libxslt/xslt.c libxslt/xsltutils.c libxslt/preproc.c libxslt/namespaces.c libxslt/imports.c libxslt/attributes.c: Eliminated usage of xsltGetNsProp() in cases where an attribute with a specific namespace is requested. xsltGetNsProp() uses xmlGetProp() which is not namespace aware and thus will return the first attribute with the requested name but of arbitrary namespace. Changed retrieval of the attributes "exclude-result-prefixes" and "extension-element-prefixes", which are expected to be in no namespace on XSLT elements and in the XSLT namespace on literal result elements or extension elements. Additional change: for XSLT elements the attribute and xsl:transform. This attribute was previously processed on all XSLT elements.

Daniel Veillard Wed Mar 29 12:16:41 CEST

  • libxslt/transform.c: Charles Hardin pointed an OOM condition where a NULL pointer could be dereferenced, closes #336394

Daniel Veillard Fri Mar 10 12:49:18 CET

  • libexslt/crypto.c libexslt/date.c libexslt/saxon.c libxslt/attributes.c libxslt/imports.c libxslt/pattern.c libxslt/preproc.c libxslt/transform.c libxslt/variables.c libxslt/xslt.c libxslt/xsltutils.c: various assorted small cleanups based on the Coverity reports

Daniel Veillard Wed Feb 22 16:09:10 CET

  • python/types.c: Nic Ferrier found debug statement left in the XPath conversion code

Daniel Veillard Tue Feb 21 20:21:07 CET

  • doc/xsltproc.1 doc/xsltproc.xml: new update from Daniel Leidert

Daniel Veillard Tue Feb 21 17:59:11 CET

  • libxslt/extensions.c libxslt/xslt.c libxslt/xslt.h libxslt/xsltInternals.h: applied patch from Christopher R. Palmer to avoid a race condition in xsltInit()

Daniel Veillard Sun Feb 19 22:40:58 CET

  • doc/xsltproc.1 doc/xsltproc.xml: improvement of the man page by Daniel Leidert, c.f. #331779

Daniel Veillard Sat Feb 11 13:10:01 CET

  • libxslt/xsltutils.c: fix xsltSaveResultToString comment
  • libxslt/transform.c: detect loops when computing variables, should fix bug #330772
  • doc/xsltproc.xml doc/xsltproc.1: fix typo in man page
  • tests/namespaces/tst7.out tests/general/bug-152.out: small output changes due to libxml2 xhtml meta handling modification

Daniel Veillard Mon Nov 21 12:22:21 CET

  • libexslt/date.c: Albert Chin found another signed/unsigned problem in the date and time code raised on IRIX 6.5

Daniel Veillard Mon Nov 21 12:08:05 CET

  • libexslt/crypto.c: patch from Albert Chin needed for HP-UX which doesn't have <sys/select.h>

Daniel Veillard Mon Nov 21 12:05:41 CET

  • libexslt/date.c: Albert Chin posted a patch to fix a problem on Solaris with dates, extended bitfield size too to match libxml2 code from xmlschemastypes.c

Daniel Veillard Wed Nov 16 12:47:25 CET

  • libexslt/functions.c: fix an problem raised by Ralf Junker in the use of xmlHashScanFull() fixes bug #321582

Daniel Veillard Sun Nov 6 19:22:45 CET

  • libxslt/attrvt.c: added a missing parameter to a debug function

William Brack Tue Oct 4 20:37:09 HKT

  • libexslt/date.c: applied fix to date:week-in-year posted to the mailing list by Thomas Broyer
  • tests/exslt/date/date.1.out, tests/exslt/date/datetime.1.out: updated to reflect above fix

Daniel Veillard Sun Oct 2 11:52:44 CEST

  • libxslt/ libxslt/ tests/plugins/ applied patch from Joel Reed to ease plugin integration

William Brack Thu Sep 22 21:51:22 HKT

  • libxslt/pattern.c: fixed problem in internal XPath compilation of patterns including variables, fixes #316861

Daniel Veillard Wed Sep 14 14:30:03 CEST

  • libxslt/transform.c: removed a superfluous second sorting of the node set on xsl:copy-of, fixes #316288
  • libxslt/xsltutils.c: marked xsltDocumentSortFunction as slow, obsolete and deprecated :-)

Daniel Veillard Sat Sep 10 14:35:06 CEST

  • check environment for PYTHON, fixes #315367

Daniel Veillard Mon Sep 5 00:44:24 CEST

  • NEWS doc/*: preparing release 1.1.15
  • libxslt/pattern.c libxslt/xsltutils.c: a bit more cleanup

Daniel Veillard