xsl-list
[Top] [All Lists]

Re: RFC: Recursive Template Improvements/Suggestions ??

2005-06-03 02:13:23
                                                  
    <xsl:variable name="zz">                                         
      <xsl:value-of select="concat($xx,'\&quot;')"/>                 
    </xsl:variable>            

Don't use xsl:variable with content like this unless you need to
generate new nodes, this makes a result tree fragment with a root node
with child a document node with string value the supplied string. That's
a fairly expensive operation and when uou come to use it you use it as a
string so it has to be cast back to a string.

                                                
    <xsl:variable name="zz"                                          
                    select="concat($xx,'\&quot;')"/>                 
                               


is less to type and a lot more efficient as it just binds the variable
directly to a string.

In this case however you don't need variables at all


  <xsl:variable name="xx">                                         
      <xsl:value-of select="substring-before($taft,'&quot;')"/>      
    </xsl:variable>                                                  
    <xsl:variable name="yy">                                         
      <xsl:value-of select="substring-after($taft,'&quot;')"/>       
    </xsl:variable>                                                  
    <xsl:variable name="zz">                                         
      <xsl:value-of select="concat($xx,'\&quot;')"/>                 
    </xsl:variable>                                                  
    <xsl:call-template name="repQuote">                              
      <xsl:with-param name="tbef" select="concat($tbef,$zz)"/>       
      <xsl:with-param name="taft" select="$yy"/>                     
      <xsl:with-param name="stop" select="0"/>                       
    </xsl:call-template>                                             
  

is

    <xsl:call-template name="repQuote">                              
      <xsl:with-param name="tbef" 
   select="concat($tbef,substring-before($taft,'&quot;','\&quot;'),'&quot;')"/> 
      
      <xsl:with-param name="taft" select="substring-after($taft,'&quot;')"/>    
                 
      <xsl:with-param name="stop" select="0"/>                       
    </xsl:call-template>                                             
  

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>