xsl-list
[Top] [All Lists]

Re: [xsl] using keys on variables

2016-10-08 04:29:24
On 08.10.2016 11:21, Graydon graydon(_at_)marost(_dot_)ca wrote:
In XSLT 2.0 and subsequent,

key('keyname',object,$variable)

is acceptable but only if the $variable is a document node.

That is not true, you can search a subtree of a document by passing in an element in that document. The only requirement is that the root of the tree containing the node supplied in the third argument is a document node.



So I have found myself going

<xsl:variable name="temp">
    <xsl:sequence select="$preExisting"/>
</xsl:variable>

So I could use a key on a variable typed as an element.  (In the
specific case, to pull a subset of an already constructed sequence of
middling-complicated mapping elements; A maps to B but there's metadata
about A, B, and the mapping in there, so generating it again isn't
attractive.)

Is there a better way to approach the requirement that the variable be a
document node in order to use the key?

I also like using variables typed as element() or element()* but if I want to use keys then I think the right approach is to make sure you start with a document node as the root of the elements.

--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] using keys on variables, Graydon graydon(_at_)marost(_dot_)ca
    • Re: [xsl] using keys on variables, Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de <=