RE: [xsl] Whats Wrong with: <xsl:value-of select="//exec[@stepid=$temp_step]/dds/dd[logical/@id=$temp_id]" />

Subject: RE: [xsl] Whats Wrong with: <xsl:value-of select="//exec[@stepid=$temp_step]/dds/dd[logical/@id=$temp_id]" />
From: Mike Ferrando <mikeferrando@xxxxxxxxx>
Date: Fri, 12 Nov 2004 06:33:07 -0800 (PST)
Andrew,
Thanks. I didn't know there was such a great difference between these
methods.

I wonder how someone might do this if they were using only single
quotes for their xsl attributes?

Example:
<xsl:variable name='x' select='@my_attribute'/>

Mike Ferrando
Library Technician
Music Division
Library of Congress
Washington, DC
202-707-4454

--- Andrew Welch <ajwelch@xxxxxxxxxxxxxxx> wrote:

> 
> 
> > Friends,
> > To expand on David's post, I find it easier and less liable 
> > to error to express the variable this way when I want a 
> > string:  XLST 1.0
> >   <xsl:variable name="temp_id">SORTOUT</xsl:variable>
> 
> The problem here is that you are creating a temporary tree, which
> has a
> root and a single text node child.  Doing a value-of on the tree
> will
> return the string 'SORTOUT', as it returns all the text-nodes for
> the
> tree concatenated together, however, there is comparitively massive
> cost
> in constructing the tree and the holding it in memory.
> 
> Using <xsl:variable name="temp_id" select="'SORTOUT'"/> simply
> binds the
> string to the variable, and incurs no tree creation costs or the
> extra
> memory use.
> 
> So, although they appear very similar as using value-of on either
> technique produces the same result, they are actually quite
> different.
> 
> The rule of thumb is - if it's possible to do all the work in the
> select
> attribute do it there.
> 
> cheers
> andrew
> 
> 



		
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com 

Current Thread