Subject: Re: substitute variable value into xpath expression - problem
From: David Carlisle <davidc@xxxxxxxxx>
Date: Mon, 11 Apr 2005 15:29:08 +0100
|
This is a FAQ.
msxsl:node-set($TRAINING_TYPE_XMLDOC)/$XML_PARENT/$XML_CHILD">
$XML_PARENT contains a string as does XML child
so your expression is equivalent to
msxsl:node-set($TRAINING_TYPE_XMLDOC)/'training_types'/'training_type'">
which is a syntax error. people often seem to expect this to work in
XSLT but it is just the same as having
x = " + 1"
y = 1
in C
and hoping that
y x
expands to
1 + 1
and evaluates to 2.
In general you need an extension function that evaluates strings as
Xpaths, but here you can do
<xsl:for-each select="msxsl:node-set($TRAINING_TYPE_XMLDOC)/*[name()=$XML_PARENT]/*[name()=$XML_CHILD}">
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
|