This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [difference between processors]


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]