Skip to content
Snippets Groups Projects
Commit 06b7f9bd83af authored by William M. Brack's avatar William M. Brack
Browse files

enhanced previous fix to bug #120684, using excellent suggestion by Daniel

* transform.c: enhanced previous fix to bug #120684, using
  excellent suggestion by Daniel
* attributes.c: fixed bug #119583, merging attribute sets
  from imported stylesheets.
* tests/docs/Makefile.am tests/docs/bug-131.xml
  tests/general/Makefile.am tests/docs/bug-131*: added tests
  to the regression suite for bug #120684.
parent 0cf9d09cc3db
Branches
Tags
No related merge requests found
......@@ -502,6 +502,7 @@
const xmlChar *name, const xmlChar *ns,
ATTRIBUTE_UNUSED const xmlChar *ignored) {
int ret;
xsltAttrElemPtr topSet;
ret = xmlHashAddEntry2(style->attributeSets, name, ns, values);
if (ret < 0) {
......@@ -510,6 +511,6 @@
*/
#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
xsltGenericDebug(xsltGenericDebugContext,
"attribute sets %s present already in top stylesheet\n",
name);
"attribute set %s present already in top stylesheet"
" - merging\n", name);
#endif
......@@ -515,5 +516,14 @@
#endif
xsltFreeAttrElem(values);
topSet = xmlHashLookup2(style->attributeSets, name, ns);
if (topSet==NULL) {
xsltGenericError(xsltGenericErrorContext,
"xsl:attribute-set : logic error merging from imports for"
" attribute-set %s\n", name);
} else {
topSet = xsltMergeAttrElemList(topSet, values);
xmlHashUpdateEntry2(style->attributeSets, name, ns, topSet, NULL);
}
xsltFreeAttrElemList(values);
#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
} else {
xsltGenericDebug(xsltGenericDebugContext,
......@@ -517,7 +527,7 @@
#ifdef WITH_XSLT_DEBUG_ATTRIBUTES
} else {
xsltGenericDebug(xsltGenericDebugContext,
"attribute sets %s moved to top stylesheet\n",
"attribute set %s moved to top stylesheet\n",
name);
#endif
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment