Subject: RE: conditionally accessing attribute value of the same node
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Thu, 28 Jun 2001 17:28:25 +0100
|
> In My XSL I check for action node for type = accept.If I get
> that action
> node then I want to access its taskid.But I am not able to
> access it.The
> code which is used for this actually gives me taskid for the
> other action
> node(first node of type soft1)
> XSLT code: This is part of <xsl:choose>
>
> <xsl:when test="//choice/action/@type[.='accept']">
> <xsl:value-of select="//choice/action/@imodetask" />
> </xsl:when>
>
This is saying "if there is an action with @type='accept' anywhere in the
document, then give me the value of the first action/@imodetask anywhere in
the document". By using "//", you are selecting relative to the root of the
document, not to the context node.
You want something like
<xsl:template match="action">
<xsl:choose>
<xsl:when test="@type='accept'">
<xsl:value-of select="@imodetask"/>
Mike Kay
Software AG
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|