Hello. I used to use the Xalan-Java 2.6.2 that came with JDK 6.
I just upgraded to 2.7.1, and now when I add xml:space="preserve" to my <xsl:stylesheet> element, it makes all params passed to named templates be empty. I've put together a minimal test case that exhibits the problem. Here's the stylesheet: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xml:space="preserve" > <xsl:template match="/"> <xsl:call-template name="t"> <xsl:with-param name="p" select="123" /> </xsl:call-template> </xsl:template> <xsl:template name="t"> <xsl:param name="p" /> <xsl:choose> <xsl:when test="string-length($p) > 0"> NOT EMPTY: <xsl:value-of select="$p" /> </xsl:when> <xsl:otherwise> EMPTY </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> You can run this stylesheet on any XML, and the problem should exhibit itself. Basically, if the xml:space="preserve" attribute is left as-is on the <xsl:stylesheet> element, the result of the transformation is "EMPTY". If the xml:space="preserve" attribute is removed from the <xsl:stylesheet> element, the result of the transformation is "NOT EMPTY". So anyone know if this is a bug or not? Thanks, -Dan