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
--~--