[xsl] text(), whitespace, and nxslt

Subject: [xsl] text(), whitespace, and nxslt
From: "Roger Chi" <roger.xslt@xxxxxxxxxxxx>
Date: Wed, 19 Oct 2005 18:39:06 +0000
XSLT 1.0

Given this stylesheet:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  <xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>

  <xsl:template match="node()">
    <output>
      <test1>
        <xsl:value-of select="boolean(.)"/>
      </test1>
      <test2>
        <xsl:value-of select="boolean(text())"/>
      </test2>
      <test3>
        <xsl:value-of select="boolean(child::text())"/>
      </test3>
    </output>
  </xsl:template>

</xsl:stylesheet>

And this source file:

<ROOT>
    <!-- some whitespace -->
</ROOT>

I get values of true, true, true in nxslt
However, in the built in XMLSpy parser, msxsl, and saxon I get true,
false, false. If I use the parameter -xw (Strip non-significant
whitespace from source and stylesheet), the result from nxslt becomes
the same as the other parsers (true, false, false).

My question: Does nxslt consider whitespace as something that should
give a true when using boolean(text()), and is this conforming to spec;
or do the other processors strip out whitespace before processing?

Current Thread