|
Subject: RE: [xsl] 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: [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=@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 |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] value-of node test., Wendell Piez | Thread | [xsl] one function call twice for t, Renate |
| Re: [xsl] value-of node test., Wendell Piez | Date | Re: [xsl] Obtaining Graphic File W, Wendell Piez |
| Month |