On Tue, Aug 21, 2012 at 6:12 PM, Andrew Welch
<andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> wrote:
On 21 August 2012 17:49, Ihe Onwuka
<ihe(_dot_)onwuka(_at_)googlemail(_dot_)com> wrote:
I'm assuming/hoping that the positional predicate in the match pattern
will curtail the search when the key is being indexed since all I want
is a list of element names.
...
In the end I went with
<xsl:key name="desired_fields"
match="m__id[1]|m__name[1]|m__path[1]|m__enabled[1]"
use="local-name()"/>
and
following-sibling::*[key('desired_fields',local-name())]
Why do that?
Because then all my end-user has to do if he wants to change the
fields being retrieved is add (or subtract) the relevant element name
from the match pattern.
With the other options I have to maintain (and therefore edit) the
list of desired element names in two places (one to control what
templates are applied and one for the following sibling check).
I understand it may not be as performant, but the volumes are not
significant and the usability feature mentioned is more important.
I amended the match keys so they read match="/descendant::m__id[1] as
my previous effort may have found the first occurrence in every node
set rather than the first in the whole document.
--~------------------------------------------------------------------
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>
--~--