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

Re: [xsl] XPath for matching multiple child elements


Subject: Re: [xsl] XPath for matching multiple child elements
From: "Will McCutchen" <mccutchen@xxxxxxxxx>
Date: Thu, 28 Sep 2006 22:49:54 -0500

On 9/28/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
Yes, but it might have fairly horrible performance.

I don't know how other processors work, but with Saxon, patterns are a lot
more efficient if they identify the element names that match, because Saxon
basically does a hash lookup on the node kind and then on the node name. Any
match="*" pattern gets tested against every node; and in this case that will
involve a serial search through the list of h1|p|b|i elements, which is
distinctly O(n^2). Not worth the savings in keystrokes.

Yeah, I started to use Wendell's suggestion, but I decided for myself that having the template matching pattern spelled out explicitly (<xsl:template match="comments//h1 | comments//p ...">) would be better for my (and others') long-term comprehension of the style sheet. I'm glad to see that I probably made a good choice performance-wise, too.

Thanks,


Will.



Current Thread
 
© 2002-2008 SyncRO Soft Ltd. All rights reserved. | Sitemap | Privacy Policy
This website was created & generated with <oXygen/> XML Editor