The only way to find out is to measure it and see: it might well vary
from one processor to another. It's unlikely to make a worthwhile
difference either way.
If you do use a variable, make it a string and not a result tree
fragment. That is, write
<xsl:variable name="tableName" select="string(@name)">
not
<xsl:variable name="tableName">
<xsl:value-of select="@name" />
</xsl:variable>
Result tree fragments are very expensive, and you can't rely on them
being optimized.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Peter Eschenbrenner
> Sent: 04 February 2003 20:49
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Variable or Query for Speed
>
>
> A stylesheet I am working with uses a specific value multiple
> times. The tableName it is reading from xml is concatenated
> with multiple strings in various for-each loops throughout
> the stylesheet. With the current xml document I am working
> with, this means the value is used almost 100 times.
>
> Question:
> Is it faster to query the xml file everytime I want that
> variable, or to query it once, store it in a variable, and
> echo the value of the variable when I need it?
>
> Use this every time I want the value:
> <xsl:value-of select="@name" />
>
>
> Or define a variable with that value and use the variable each time
> instead:
> <xsl:variable name="tableName">
> <xsl:value-of select="@name" />
> </xsl:variable>
>
> <xsl:value-of select="$tableName" />
>
>
>
> Peter E.
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|
Sergiu Ignat - Wed, 5 Feb 2003 03:32:08 -0500 (EST)
|
|