Age | Commit message (Collapse) | Author | Files | Lines |
|
* libexslt/functions.c: changed handling of function params
to fix bug #381319
* libxslt/transform.[ch]: exposed xsltLocalVariablePush and
xsltLocalVariablePop as global entries so that they could
be used from within libexslt/functions.c
* tests/exslt/functions/function.9.[xsl,xml,out] added to
regression tests
|
|
* libxslt/extensions.c: applied patch from Marcus Meissner removing
a strict aliasing problem should fix #317921
Daniel
|
|
* libxslt/transform.c: fixed problem with housekeeping of
localRVTBase, bug #378766
|
|
* NEWS configure.in doc//*: preparing release of libxslt-1.1.19
Daniel
|
|
* libxslt/variables.c: fixed problem with cached RVT's,
bug #378766
|
|
* libxslt/transform.c: applied patch from Mike Hommey about saving
the current in-scope namespace list when calling a template, fixes
bug #377579
Daniel
|
|
* configure.in: fix a python detection problem pointed out by
Joseph Sacco, fixes bug #376391
Daniel
|
|
* libxslt/transform.c: fixed problem with entity handling
within xsltCopyAttrListNoOverwrite (#352907)
* tests/general/bug-164.xsl, tests/general/bug-164.out,
tests/docs/bug-164.oxml: added a regression test for this
|
|
* NEWS configure.in doc//*: preparing release of libxslt-1.1.18,
this bumps libxml2 requirement to 1.6.27
* libexslt/date.c libxslt/namespaces.h libxslt/xslt.c
libxslt/xsltInternals.h: cosmetic cleanups to restore the
API extraction
Daniel
|
|
* doc//*: removed all remaining references to the old Wiki
Daniel
|
|
* libexslt/date.c: fixed end-of-month problem in exsltDateCurrent
(#359246)
|
|
* libxslt/preproc.c: applied patch from Mike Hommey fixing 2
erroneous xmlFree() and adding a message on an unsupported feature
Daniel
|
|
* python/libxslt-python-api.xml: applied fix for accessor functions
of a stylesheet returning pointers to immutable strings, patch
from #320540
* xsltproc/xsltproc.c: fix the xinclude on stylehseet problem
by adding a new parameter to xsltproc names --xincludestyle
Daniel
|
|
* xsltproc/xsltproc.c: apply patch from Gary Coady to compile when
libxml2 has no xinclude support #319886
* docs/*: renamed Gnome to GNOME fixes #352159
Daniel
|
|
* libxslt/Makefile.am: a missing DESTDIR
* python/Makefile.am: fix reference to build paths in python module
* libexslt/exsltconfig.h.in libxslt/xsltconfig.h.in: fix the header
comments on version values, the 3 are patches from Peter
Breitenlohner and should fix #340995
Daniel
|
|
* libxslt/security.c: applied cleanup patch from Mikhail Zabaluev
which should finish fixing #337486
Daniel
|
|
* libxslt/security.c: applied fix from Shane Corgatelli to pass
the full URL when checking security access for network URLs,
should fix bug #359366
Daniel
|
|
* doc/xslt.html python/tests/pyxsltproc.py 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
|
|
* xsltproc/xsltproc.c: --xinclude should also force XInclude
processing on the stylesheets themselves, raised by Daniel Leidert
Daniel
|
|
* 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.
|
|
* libxslt/preproc.c: Added missing QName-validation of some
attributes of XSLT-elements. This fixes bug #304921, reported
by Frans Englich.
|
|
* 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.
|
|
* 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
|
|
|
|
* python/types.c: fix float and boolean XPath conversions
* libxslt/xsltutils.c: try to fix Stephane Bidoul attempt
at setting XInclude support.
Daniel
|
|
* 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
|
|
* 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.
|
|
* 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
<foo></foo>, and now it will be serialized as <foo/>).
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
|
|
* 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.
|
|
* 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:
- #313711: namespace collision with namespace-alias (reported
by by Oleg Paraschenko)
- #338214: Incorrect scope for exclude-result-prefixes
- #341392: Excluding namespace declarations of literal result
elements.
- #341325: Namespace aliasing and resulting namespace prefixes
Already enabled fixes:
- #344183: xsl:copy misses to copy attributes in the XSLT namespace
- #341463: Namespace-alias using #default for result-prefix with no
default namespace in scope
- #313890: namespace collision with xsl:element and xsl:attribute,
reported by Oleg Paraschenko
- #344176: xsl:copy misses to set an element's namespace-URI in
some cases
- #305739: the "name" QName of xsl:element is incorrectly always
resolved to the default namespace
|
|
* doc/xsltproc.1 doc/xsltproc.xml: more info about --output
from Daniel Leidert c.f. #344654
Daniel
|
|
|
|
* configure.in libxslt.spec.in doc//*: preparing release of 1.1.17
Daniel
|
|
* libxslt/attributes.c: Eliminated a tiny difference wrt to
the old behaviour in the naming of newly generated ns-decls
in xsltAttributeInternal().
|
|
* configure.in: fix a problem in Python detection
Daniel
|
|
* 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().
|
|
* 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.
|
|
* 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).
|
|
* libxslt/namespaces.c libxslt/attributes.c:
Fixed bug #302020, reported by Thomas Blatter.
|
|
* 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
(still IDFEDed out with XSLT_REFACTORED) code: The XPath
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.
|
|
* libxslt/extensions.c: Changed a comment to indicate that a
specific bug was already fixed.
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* configure.in NEWS doc//*: preparing release of 1.1.16, updated and
regenerated the docs.
Daniel
|
|
* configure.in: applied patch from Joseph Sacco changing slightly
the python detection scheme should fix bug #338527
Daniel
|
|
* 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.
|
|
|
|
|