This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: XPath question
- From: David Carlisle <davidc at nag dot co dot uk>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Fri, 10 May 2002 17:48:57 +0100
- Subject: Re: [xsl] XPath question
- References: <F8F5A43E53BFC340912268056B9658B34590C2@MSGMRO570NTS.fmr.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
<xsl:variable name="keyName"><xsl:value-of
select="substring-after(../../ViewKey, ';')"/></xsl:variable>
It's better to go
<xsl:variable name="keyName" select="substring-after(../../ViewKey, ';')"/>
As it;s shorter and makes keyName into a string rather than a result
tree fragment containing a root node containing a text node.
But that doesn't make any difference to your problem.
<xsl:apply-templates select="//appInfo[ViewName='viewName' and
ViewKey=$keyName]/Structure[@StructId='VFM']/Row[@DEPEND='001']" >
That looks OK although anything with // in it is likely to be
inefficient and quicker if replaced by a call to key().
The usual cause of problems in this area is that the <xsl:variable
isn't being evaluated where you think it's being evaluated:
stick
<xsl:message>
keyName = ,xsl;value-of select="$keyName"/>
</xsl:message>
just before the apply-templates and see if it has the value you expect
(ie the value you said you used as a literal string)
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list