xsl-list
[Top] [All Lists]

Re: [xsl] XPath for matching multiple child elements

2006-09-28 20:50:22
On 9/28/06, Michael Kay <mike(_at_)saxonica(_dot_)com> 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.

--~------------------------------------------------------------------
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>
--~--