I've puzzled over conf test boolean43 and can't figure out why
the expected result of "true" is correct. Note the xml doc does not
have a "foo" element. Indeed, Xalan, XT, and Saxon return
"true" on this test. XSLTC returns "false". We're outnumbered,
but it looks to me like "false" is the correct answer.
Here's the xsl
<xsl:variable name="emptyResultTreeFragTest">
<xsl:value-of select="foo"/>
</xsl:variable>
<xsl:template match="doc">
<out>
<xsl:value-of select="boolean($emptyResultTreeFragTest)"/>
</out>
</xsl:template>
I checked the string-length of the "emptyResultTreeFragTest"
variable and it was 0. I also explicitly converted it to a string
with the string function and printed it out. That showed an
empty string.
So I don't see how applying the boolean function to the variable
can return "true". The XSLT spec says a node-set is true only
if it is non-empty and that a string is true if and only if its
length is non-zero.
What am I missing?
Tom