This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: hoe to use "(" within a variable
- From: "Andrew Welch" <awelch at piper-group dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 12 Aug 2002 14:22:30 +0100
- Subject: RE: [xsl] hoe to use "(" within a variable
- Reply-to: xsl-list at lists dot mulberrytech dot com
> 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, '\n%s: %d:
> %s:%s')"' />
>
> > 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