This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: hoe to use "(" within a variable


> In my mind, best practice is that if you can set a variable directly
> to a string, number, boolean or node set then it's much better to do
> so than it is to go through a result tree fragment.

Thanks Jeni,

clear as always

cheers
andrew


> -----Original Message-----
> From: Jeni Tennison [mailto:jeni@jenitennison.com]
> Sent: 12 August 2002 12:44
> To: Andrew Welch
> Cc: xsl-list@lists.mulberrytech.com
> Subject: Re: [xsl] hoe to use "(" within a variable
> 
> 
> Hi Andrew,
> 
> > Can you highlight the differences of using the select 
> attribute (over
> > rtf content) when using variables.
> >
> > Using this case as an example,
> >
> > <xsl:variable name"foo" select="sprintf(log_str, '\n%s: %d: 
> %s:%s')"/>
> 
> You mean:
> 
> <xsl:variable name"foo"
>               select='"sprintf(log_str, &apos;\n%s: %d: 
> %s:%s&apos;)"' />
> 
> > against:
> >
> > <xsl:variable name="foo">sprintf(log_str, '\n%s: %d:
> > %s:%s')</xsl:variable>
> >
> > As you have said one would require escaping of quotes, and the other
> > is technically a result-tree-fragment, but getting the value-of
> > produces the same results.
> >
> > What is best practice here?
> 
> In my mind, best practice is that if you can set a variable directly
> to a string, number, boolean or node set then it's much better to do
> so than it is to go through a result tree fragment.
> 
> When you use a result tree fragment, the processor has to create at
> least two new nodes (a root node and a text node); creating nodes and
> storing that is a *lot* more burdensome (takes up more processing time
> and memory) than storing the value directly. The result tree fragment
> needs to be converted to a string/number/boolean/node-set when you use
> it, which also takes time compared to using the value directly.
> Finally, I find it easy to mistakenly test variables with:
> 
>   <xsl:if test="$foo">
>     ...
>   </xsl:if>
> 
> which is always true for a result tree fragment, and wouldn't
> necessarily be for a string.
> 
> Having to escape the quotes is a pain, but I think that "if you can,
> use the select attribute" is a heuristic that will generally stand you
> in good stead.
>   
> Cheers,
> 
> Jeni
> 
> ---
> Jeni Tennison
> http://www.jenitennison.com/
> 
> 
> 
> 
> 
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.381 / Virus Database: 214 - Release Date: 02/08/2002
>  
> 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.381 / Virus Database: 214 - Release Date: 02/08/2002
 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]