So, just to be clear about this:
<xsl:variable name="foo" as="xs:string?">Hello</xsl:variable>
<xsl:variable name="bar">World</xsl:variable>
<xsl:value-of select="concat($foo,' ',$bar)"/>
Here at the point of the concat() $foo is -already- a string
and $bar is
a nodeset? That is, $foo is never a nodeset and $bar is nodeset that
gets implicitly cast to a string?
Yes.
Technically the conversion isn't a cast, it's atomization, but that's a
quibble. Also,
XSLT 2.0 doesn't talk about nodesets: the type of $bar is document-node().
If so, this would mean it's possible to make a choice between long
if-then-elses in the select attribute and choose/whens in the
body based
on readability/maintainability etc and not on performance.
Yes, absolutely. Saxon will probably generate the same internal code for
both.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
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>
--~--