Working with Saxon 6.5.1 on the Windows platform I noticed that line breaks literally represented as text elements are being output incorrectly for the Windows platform.


For example,


<xsl:stylesheet version="1.0" xmlns:xsl="">


<xsl:output method="text" encoding="UTF-8"/>


<xsl:strip-space elements="*"/>


<xsl:template match="number">

  <xsl:value-of select="."/><xsl:text>






When I capture the output produced by this stylesheet in a file and open in the Windows notepad editor it does not display correctly because notepad expects CR+NL pairs. Now if I open the stylesheet in notepad, it DOES display correctly which leads me to believe that the <text> element is actually enclosing a CR+NL pair. It seems that the either the stylesheet parser or the output serializer in saxon is stripping the CR. When I use the same stylesheet with xalan it works correctly.


Is this a bug in saxon or a misunderstanding on my part?


In general, how are stylesheets supposed to deal with line breaks in a portable fashion?