diff options
author | Kasimier T. Buchcik <kbuchcik@src.gnome.org> | 2006-06-19 17:45:33 +0000 |
---|---|---|
committer | Kasimier T. Buchcik <kbuchcik@src.gnome.org> | 2006-06-19 17:45:33 +0000 |
commit | c09974f82f86d2eca4d3788c089eb41a7ad8bb65 (patch) | |
tree | 1f91f0e489cc445a5b192c3592891ea2dd93a79a /tests/docs | |
parent | 22b86d5a5ca561c7d9cd6e68ed69d0357fe7f3d0 (diff) | |
download | libxslt-c09974f82f86d2eca4d3788c089eb41a7ad8bb65.tar.gz libxslt-c09974f82f86d2eca4d3788c089eb41a7ad8bb65.tar.bz2 libxslt-c09974f82f86d2eca4d3788c089eb41a7ad8bb65.zip |
Merged all the namespace lookup/create/disable functions into
* 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
Diffstat (limited to 'tests/docs')
0 files changed, 0 insertions, 0 deletions