[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Several rules vs a single rule with a choose opera

Subject: Re: Several rules vs a single rule with a choose operator
From: tcn@xxxxxxxxxxxxx (Trevor Nash)
Date: Sun, 29 Jul 2001 10:29:23 GMT
nash single
In terms of speed, I doubt there is much in it - in general XSLT
processors get slower as you give them more templates to look at, but
that is not a universal law, just a feature of the algorithms curently
in use.  If I had to guess I would pick the 'choose' variant, though I
would want to know what the node-test and conditions look like.

If the difference is *really* important to you then you need to run a
test with the real system, as you are quite likely to get different
answers according to exactly what the rest of your stylesheet
contains, what the node tests and conditions actually are, and what is
in the input (how many times this template is fired in comparison to
the rest).  You might even get different answers on different
machines.

My advice would be to choose the method that is going to be easiest to
change - probably the separate templates route.  As to performance, it
is true for most software systems that time spent getting the overall
design right is much more valuable than time spent on the minute
details of implementation.  In short, stop worrying about it.

>Hello, friends.
>
>How do you think, which of the following two approaches
>is more effective (particularly, for MSXML):
>
>  <xsl:template match="node-test[condition2]" priority="2">

You only need the priority if condition1 and condition2 are not
mutually exclusive.  In which case I wonder why you are not testing
the common part in the 'choose' method?

>    result2
>  </xsl:template>
>  <xsl:template match="node-test[condition1]" priority="1">
>    result1
>  </xsl:template>
>  <xsl:template match="node-test">
>    result0
>  </xsl:template>
>
>or
>
>  <xsl:template match="node-test">
>    <xsl:choose>
>      <xsl:when test="condition2">result2</xsl:when>
>      <xsl:when test="condition1">result1</xsl:when>
>      <xsl:otherwise>result0</xsl:otherwise>
>    </xsl:choose>
>  </xsl:template>
>
>The effectiveness question is important in my case,
>since I employ a large set of template rules
>and, moreover, apply it several times per request.
>
>Thanks.

Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@xxxxxxxxxxxxx

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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.