[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

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

Subject: Re: Possible to pass 'empty sequence' to function?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Thu, 31 Mar 2005 22:13:40 +1000
Re:  Possible to pass 'empty sequence' to function?
On Thu, 31 Mar 2005 12:48:22 +0100, Andrew Welch
<ajwelch@xxxxxxxxxxxxxxx> wrote:
> 
> > > > <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?

Yes, but more precisely, we can say that $foo is not a node (it is a
value of simple type) and $bar is a document node (temporary tree).

> 
> 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.

defining $foo as xs:string is both: more readable/maintainable and
more efficient.


Cheers,
Dimitre Novatchev.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.