Mac Martine wrote:
Here's another: This seems to find the element node where @task = 1, but
it doesn't actually write out the value of @task. Why?
Because you don't say exactly which task attribute to write.
It just writes out:
@TASK =
<xsl:if test="//*[(_at_)task=$nextTask]">
@TASK = <xsl:value-of select="@task" />
</xsl:if>
It can be translated into English as follows: if somewhere in the document
exists an attribute with string value equals to $nextTask, output value of
@task attribute of the *context* node.
So effectively you are testing one thing and outputting another. Most likely
you need
<xsl:if test="//*[(_at_)task=$nextTask]">
@TASK = <xsl:value-of select="//*[(_at_)task=$nextTask]" />
</xsl:if>
but beware that could be terribly uneffective.
--
Oleg Tkachenko
http://www.tkachenko.com/blog
Multiconn Technologies, Israel
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list