This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: [difference between processors]
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Sun, 7 Jul 2002 07:02:16 +0100
- Subject: [xsl] RE: [difference between processors]
- Reply-to: xsl-list at lists dot mulberrytech dot com
> There is undoubtedly a simple explanation for this problem
> that I am overlooking.
>
> This is the relevant fragment of a longer template.
>
> <xsl:template match="chapter">
> <xsl:if test="position()!=last()">
> <hr></hr>
> </xsl:if>
> </xsl:template>
>
> In a book of three chapters, Saxon and XT return three hard
> rules, MSXML returns two (the fuller template shows these to
> be after the first and second chapters and not the third and
> final one)
>
The explanation is that MSXML silently strips whitespace text nodes by
default. The other processors follow the spec by requiring you to do
this manually, using <xsl:strip-space elements="*"/>. This means that
when you do <xsl:apply-templates/>, the last node selected is not a
chapter, but a whitespace text node, so it is not processed by this
template rule.
Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list