<xsl:variable name="names" select="('m__id', 'm__name',
'm__path'....)" as="xs:string+"/>
with
following-sibling::*[local-name() = $names]
Yes I didn't think of this but there are two things.
This won't work in a template match on XSLT 1.0 and it is hiding
multiple comparisons under the innocent looking equality general
comparison which may bite on large volumes.
Ok that wasn't in the reqs... I just rewrote your code snippet. An
xslt 1.0/2.0 alternative is:
<xsl:apply-templates select="following-sibling::*" mode="my-filter"/>
<xsl:template match="foo | bar | baz" mode="my-filter"/>
Unfortunately I don't have the volume of data to benchmark the keys
solution vs the variable solution.
you could create some with xslt : )
I presume your preference for variables is based on better
performances (at least until volumes start to get large).
Not really... the key technique just seems a bit odd.
--
Andrew Welch
http://andrewjwelch.com
--~------------------------------------------------------------------
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>
--~--