summaryrefslogtreecommitdiff
path: root/tests/docs
diff options
context:
space:
mode:
authorKasimier T. Buchcik <kbuchcik@src.gnome.org>2006-06-19 17:45:33 +0000
committerKasimier T. Buchcik <kbuchcik@src.gnome.org>2006-06-19 17:45:33 +0000
commitc09974f82f86d2eca4d3788c089eb41a7ad8bb65 (patch)
tree1f91f0e489cc445a5b192c3592891ea2dd93a79a /tests/docs
parent22b86d5a5ca561c7d9cd6e68ed69d0357fe7f3d0 (diff)
downloadlibxslt-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