Subject: RE: [xsl] parameters in XSLT 2.0 From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 8 Jun 2005 00:40:20 +0100 |
> First, am I right that if I use an "as" attribute of element() or > node() I am passing a reference to the original element or node, and > thus that this is an efficient operation? In the examples below you are passing a reference. If you used xsl:copy-of rather that xsl:sequence you would be creating a copy. The effect of using "as" on performance may be positive or negative. It may cause the system to do run-time checks that would otherwise not be performed. On the other hand, it gives the system compile-time information that may be useful to perform optimizations. I would use it as widely as possible because it speeds the development cycle and catches bugs more efficiently, and not worry too much about any effect on performance. > > Related, am I correct that these below are equivalent from a > processing > standpoint? > > <xsl:variable name="foo" select="bar" as="element()"/> > > <xsl:variable name="foo" as="element()"> > <xsl:sequence select="bar"/> > </xsl:variable> Yes. > > Finally, in general, under what conditions should one use tunnel > parameters? I do a lot of parameter passing in my > stylesheets, though > the content of those parameters is typically fixed. > Use them if A calls E via B, C, and D, and you want to get information from A to E without cluttering the code of templates B, C, and D. The most likely use-case for this is if you are reusing existing templates B, C, and D and want to reuse them unchanged. Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] parameters in XSLT 2.0, Bruce D'Arcus | Thread | [xsl] What is exciting in XSLT 2.0 , Dimitre Novatchev |
RE: [xsl] Assigning a boolean value, Michael Kay | Date | Re: [xsl] parameters in XSLT 2.0, Bruce D'Arcus |
Month |