If you're using predicates, remember that the context node changes inside
the predicate. Use current() to get around this:
for-each B
value-of select="//A[(_at_)attribute-of-A = current()/@attribute-of-B]
However, using keys is easier and more efficient:
<xsl-key name="k" match="A" use="@attribute-of-A"/>
<xsl:for-each select="B">
<xsl:value-of select="key('k', @attribute-of-B)"
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Steve [mailto:subsume(_at_)gmail(_dot_)com]
Sent: 10 July 2006 20:13
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] value-of node test.
I'm iterating thu an ordered list of services.
I have another list of the values of those services, but not in order.
As I move thru the ordered list, I'd like to get the value of
the unordered list which shares meets the service=(_at_)title test.
Is there a shorthand way to do this using value-of? I know I
can resort to xsl:when or xsl:if, if need be.
General gist (doesn't work):
<xsl:value-of
select="$services//Record[child::service=string(@title)]/value" />
--~------------------------------------------------------------------
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>
--~--