|
Subject: Re: [xsl] Performance of predicate-based patterns From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 23 Jan 2015 14:19:30 -0000 |
On Fri, Jan 23, 2015 at 11:28:31AM -0000, Michael Kay mike@xxxxxxxxxxxx
scripsit:
> We've started doing some performance work in Saxon on the DITA
> stylesheets, which use large numbers of match patterns in the form
>
> <xsl:template match="*[contains(@class, ' token ')]">
If anybody ever starts using XSLT 2.0 for DITA processing, there are
going to be things like
<xsl:template match="*[(tokenize(@class,'\p{Zs}+')[normalize-space()])[2] eq 'topic/li']]">
showing up. ("some $x in tokenize(@class,...." seems pretty likely,
too.)
> Currently these require a very inefficient sequential search to find
> the matching rule for each element.
>
> Does anyone know of any other commonly-used stylesheets (or even,
> uncommonly used ones) which show similar characteristics, that is,
> large numbers of match patterns using predicate matching only, with no
> explicit element names? We'd like any optimizations we implement to be
> as general-purpose as possible.
I've done some conversion work on legal documents where the goal was to
get everything back on a single schema after a couple decades of
evolution in the element names of various DTDs. Matches of the form
<xsl:template match="*[name() = ('P','NP','PARA')]">
showed up a fair bit to match on the abstract "that's a paragraph"
across the range of evolved element names.
There was also a fair bit of
<xsl:template match="*[not(name() = ('PARA','LIST','TABLE')))]">
used as general "we don't think there's anything but those in the data
but let's not make rash assumptions" surprise handler templates.
-- Graydon
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Performance of predicate-base, Michael Kay mike@xxx | Thread | Re: [xsl] Performance of predicate-, Michael Müller-Hille |
| Re: [xsl] More free-form layouts - , G. Ken Holman g.ken. | Date | Re: [xsl] Performance of predicate-, Michael Müller-Hille |
| Month |