Someone just asked me why <node/> was coming out of the transform as
<node></node>. After trying out some of the processors, it seems msxml
x when used with an identity transform doesn't minimise.
So, this stylesheet:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
On this source:
<node/>
Produced:
Msxml3 <node></node>
Msxml4 <node></node>
Saxon <node/>
Xalan <node/>
Now the reason this has particularly annoyed me is because I've always
wanted the ability to tell a processor 'don't minimise the elements'.
After a few long dicussions on the list it seemed that it wasn't really
feasible (or there wasn't enough momentum behind it) to have a feature
like this, but obviously that's just down to interpretation. Lots of
people have had the same issue, and lots of people are adding &_#160;'s
to their output to prevent it.
This just appears to be an MSXML bug, but it would've been nice to the
option.
Andrew.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list