xsl-list
[Top] [All Lists]

RE: Possible to pass 'empty sequence' to function?

2005-03-31 05:11:45
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>
--~--