xsl-list
[Top] [All Lists]

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

2005-03-31 04:11:32
On Thu, 31 Mar 2005 11:58:51 +0100, Andrew Welch
<ajwelch(_at_)piper-group(_dot_)com> wrote:

if you don't use as then an xsl:variable with content and no
select attribute produces a temporary tree, what we used to
lovingly call a result tree fragment.

<xsl:variable name="x">hello</xsl:variable>

$x is (a sequence of one) document node that has a single
text node child that has string value "hello"


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


Also,  using:

   <xsl:variable name="vFun" as="element()">
      <myFun:myFun/>
   </xsl:variable>

is much faster than:

   <xsl:variable name="vFun" select="document('')/*/myFun:*[1]"/>

because no re-parsing of the stylesheet will take place in the former case.

I am gradually upgrading FXSL to use this technique.


Cheers,
Dimitre Novatchev

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