RE: Possible to pass 'empty sequence' to function?
> > > <xsl:variable name="y" as="string?">hello</xsl:variable> > > > > > > $x is (a sequence of one) string with value "hello" > > > > > > Is this really the case? Does it really mean that the > > processor doesn't > > construct the temporary tree (and then atomise it?) - if so > then it's > > really useful. > > The semantics are that the processor creates a text node and > then atomizes it to a string. > > What happens internally is of course up to the optimizer. 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? 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. cheers andrew
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format