[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] can a value of a parameter depends on a other value


Subject: Re: [xsl] can a value of a parameter depends on a other value
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 01 Dec 2011 16:06:11 +0000

On 01/12/2011 15:51, Roelof Wobben wrote:


Hello,



I did some investigation and found this script.




<xsl:variable name="foo"> <xsl:choose> <xsl:when test="condition1"> ...value if condition1 is true </xsl:when> <xsl:otherwise> ...value if condition1 is not true </xsl:otherwise> </xsl:choose> </xsl:variable>

<xsl:apply-templates select="/foo/bar">
   <xsl:with-param name="foo" select="$foo"/>
</xsl:apply-templates>




Is this a good example of a condtional with-param ?



well working is good;-)
as always, if you only use a variable once can (but don't have to) inline the definition, so here the global variable $foo is only used once so you could equivalently go


<xsl:apply-templates select="/foo/bar">
   <xsl:with-param name="foo">
   <xsl:choose>
     <xsl:when test="condition1">
       ...value if condition1 is true
     </xsl:when>
     <xsl:otherwise>
       ...value if condition1 is not true
     </xsl:otherwise>
   </xsl:choose>
</xsl:with-param>
</xsl:apply-templates>


But it probably compiles to more or less the same thing.
One of the nice features of side-effect free languages is that the compiler has a lot of freedom to re-arrange the code, if you use the same subterm multiple times the compiler can reuse the value, effectively implictly making a variable, conversely if you only use a variable once it can inline the definition, effectively removing the variable.


So use of variables or not often just amounts to personal coding style aesthetics.

dDavid





--
google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________



Current Thread