Neil Smith <neil(_at_)fresh-toast(_dot_)com> wrote:
For my xsl stylesheet, using
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0" xml:space="preserve"> in IE6, I had a problem.
I found that when using the xsl:attribute construct like this, no
attributes were added to my anchor tag (by checking the HTML source)
<a>
<xsl:attribute name="href">
<xsl:value-of select="@start"/>
</xsl:attribute>
<xsl:value-of select="title"/>
</a>
With xml:space="preserve" in the stylesheet, the literal result element now
has a text child. Since that text child is generated before the
xsl:attribute instruction is instantiated, the processor cannot add the
attribute. See:
http://www.w3.org/TR/xslt#creating-attributes
Although the processor is free to halt the transformation at this point,
MSXSL is recovering by not adding the attribute.
So, you can move the href attribute into the literal result element:
<a href="{(_at_)start}">
<xsl:value-of select="title"/>
</a>
or reset xml:space to the default:
<a xml:space="default">
<xsl:attribute name="href">
<xsl:value-of select="@start"/>
</xsl:attribute>
<xsl:value-of select="title"/>
</a>
I'm surprised you didn't get a warning from the processor.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list