Subject: RE: value-of node test.
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 10 Jul 2006 21:28:36 +0100
|
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[@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@xxxxxxxxx]
> Sent: 10 July 2006 20:13
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: 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=@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" />
| Current Thread |
- value-of node test.
- Steve - 10 Jul 2006 19:13:15 -0000
- Michael Kay - 10 Jul 2006 20:28:59 -0000 <=
- Message not available
|
|