>>>> 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.
..in which case:
<xsl:variable name="names" select="('m__id', 'm__name',
'm__path'....)" as="xs:string+"/>
with
following-sibling::*[local-name() = $names]
is the same but doesn't require the key, however you should really
take into account namespaces.
--
Andrew Welch
http://andrewjwelch.com
|