[xsl] RE: [difference between processors]

Subject: [xsl] RE: [difference between processors]
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Sun, 7 Jul 2002 07:02:16 +0100
> 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@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread