Variables represent run-time values, not compile-time strings that can be
textually substituted into an XPath expression. Use
msxml:node-set(..)/*[name()=$XML_PARENT]/*[name()=$XML_CHILD]
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Hardy Merrill [mailto:HMerrill(_at_)dhcr(_dot_)state(_dot_)ny(_dot_)us]
Sent: 11 April 2005 15:19
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] substitute variable value into xpath
expression - problem
This is using MSXSL4.
near the top of the stylesheet
*------------------------------------
<xsl:variable name="XML_PARENT" select="'training_types'" />
<xsl:variable name="XML_CHILD" select="'training_type'" />
down in the body
*--------------------
<xsl:for-each
select="msxsl:node-set($TRAINING_TYPE_XMLDOC)/$XML_PARENT/$XML_CHILD">
The TRAINING_TYPE_XMLDOC is fine - it's the XML_PARENT and
XSL_CHILD that I'm having trouble with. All I'm really
trying to do is substitute in the literal values of the
XSL_PARENT and XSL_CHILD into the XPath select. Here is the
error I'm getting:
*------------------
NodeTest expected here.
msxsl:node-set($TRAINING_TYPE_XMLDOC)/-->$<--XML_PARENT/$XML_CHILD
*------------------
I'm sure it's something stupid I'm doing/not doing - please
let me know what it is.
Thanks.
Hardy Merrill
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--