Yes, using current() would solve the first problem but not the second.
For the second problem, in XSLT 2.0 you can supply a third argument to key()
to indicate the document (or subtree) to be searched. In 1.0 you have to
change the context node by doing something like
<xsl:for-each select="$otherdoc">
<xsl:value-of sleect="key(....)"/>
</xsl:for-each>
-----Original Message-----
From: Tim Lebo [mailto:timleboxslt(_at_)gmail(_dot_)com]
Sent: 25 March 2006 17:18
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] xslt key used with a predicate of an xpath
expression
"idref" is a relative path expression that means
child::idref. The context
node is a <color> element, so it looks for a child of the
color element
named idref, but there is none.
Would prepending 'current()' in front of 'idref' change the context
node from $colors/color back to the 'thing' node that it is
processing? I tried:
<xsl:value-of select="concat('The @hex of that object means color ',
$colors/color[(_at_)hex=key('objects',current()/idref)/@hex],
' (.)',$NL)"/>
To no avail. Probably because it doesn't address the second problem
you outline, but I'm not sure how to address that.
Moreover, the key function searches the document containing
the context
node. But the color element is in a different document from
the one you want
to search.
So the key is searching the the xsl document, while I want it to
search the input document? Is there a way to get it to search the
input document by using the $doc(key('objects',current()/idref) or
key('objects',current()/idref,$doc) constructs?
Thank you for your patience,
-Tim Lebo
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--