Re: [xsl] simple matching problem

Subject: Re: [xsl] simple matching problem
From: Oleg Tkachenko <olegt@xxxxxxxxxxxxx>
Date: Sun, 30 Mar 2003 09:33:03 +0200
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="//*[@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="//*[@task=$nextTask]">
@TASK = <xsl:value-of select="//*[@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



Current Thread