+Thu Feb 26 13:16:33 CET 2004 Daniel Veillard <daniel@veillard.com>
+
+ * libxslt/attrvt.c libxslt/variables.c: fixed a regression for
+ AVT found in global variable content.
+ * tests/docs/Makefile.am tests/docs/bug-143.xml
+ tests/general/Makefile.am tests/docs/bug-143*: added test
+ to the regression suite.
+
Wed Feb 25 16:35:01 CET 2004 Daniel Veillard <daniel@veillard.com>
* libxslt/attributes.c libxslt/keys.h libxslt/preproc.c
#ifdef WITH_XSLT_DEBUG
#define WITH_XSLT_DEBUG_AVT
-#define WITH_XSLT_DEBUG_AVT
#endif
#define MAX_AVT_SEG 10
if ((xmlStrchr(str, '{') == NULL) &&
(xmlStrchr(str, '}') == NULL)) return;
+#ifdef WITH_XSLT_DEBUG_AVT
+ xsltGenericDebug(xsltGenericDebugContext,
+ "Found AVT %s: %s\n", attr->name, str);
+#endif
+ if (attr->_private != NULL) {
+#ifdef WITH_XSLT_DEBUG_AVT
+ xsltGenericDebug(xsltGenericDebugContext,
+ "AVT %s: already compiled\n");
+#endif
+ return;
+ }
avt = xsltNewAttrVT(style);
if (avt == NULL) return;
attr->_private = avt;
return;
}
+ if (cur->children != NULL) {
+ xsltParseTemplateContent(style, cur);
+ }
#ifdef WITH_XSLT_DEBUG_VARIABLE
xsltGenericDebug(xsltGenericDebugContext,
"Registering global variable %s\n", comp->name);
return;
}
+ if (cur->children != NULL) {
+ xsltParseTemplateContent(style, cur);
+ }
+
#ifdef WITH_XSLT_DEBUG_VARIABLE
xsltGenericDebug(xsltGenericDebugContext,
"Registering global param %s\n", comp->name);
bug-140.xml \
bug-141.xml \
bug-142.xml \
+ bug-143.xml \
character.xml \
array.xml \
items.xml
bug-140.out bug-140.xsl \
bug-141.out bug-141.xsl \
bug-142.out bug-142.xsl \
+ bug-143.out bug-143.xsl \
character.out character.xsl \
character2.out character2.xsl \
itemschoose.out itemschoose.xsl \
--- /dev/null
+<?xml version="1.0"?>
+<foo bar="0foo1">foo1</foo>
--- /dev/null
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:variable name="foo">foo</xsl:variable>
+<xsl:variable name="bar">
+ <foo bar="0{$foo}1">foo1</foo>
+</xsl:variable>
+<xsl:template match="/">
+ <xsl:copy-of select="$bar"/>
+</xsl:template>
+</xsl:stylesheet>