The select expression yields a node-sequence, the as
expression requires atomic values, so XSLT invokes
atomization. The result of atomizing an empty node-sequence
is an empty sequence of strings.
The confusion comes from this:
<abc/>
And a variable that selects <abc>:
<xsl:variable name="abc" select="abc" as="xs:string?"/>
And then use the test:
$abc = ''
The result is true. However, if <abc/> is not present, the result is
false.
So, what is the difference between the atomization process when the node
<abc/> is present but empty, and when it's not there?
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--