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(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Peter Eschenbrenner
Sent: 04 February 2003 20:49
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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