Subject: 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?
|