From: Philip Fitzsimons [mailto:pfitzsimons(_at_)tixel(_dot_)co(_dot_)uk]
Sent: Friday, May 23, 2003 8:09 AM
Subject: [xsl] Dynamic XPath
I want to create an XSLT expressions so that I can vary which nodes I
select,
I can't use [name() = $nodeName] because the depth of the
path may change -
and I want to use paths not nodenames...
What I would like to do is:
<!--<xsl:variable name="dynamicPath"
select="/document/*[position()
= 2]" />-->
<xsl:variable name="dynamicPath"
select="/document/section/keep/pear" />
<xsl:variable name="textContent"
select="{$dynamicPath}/text()" />
Which is not valid :( - so how can I create a dynamic path?
Is it possible?
It's possible if you remove the curly braces:
<xsl:variable name="textContent" select="$dynamicPath/text()"/>
AVTs are not valid in XPath expressions.
btw, based on your input XML, $textContent is redundant; if you use
$dynamicPath in xsl:value-of, the result will be identical, since value-of
writes the string value of the expression to the result tree.
hth,
b.
| please note new address and phone #'s effective may 19 |
| brian martinez
brian(_dot_)martinez(_at_)cendant(_dot_)com |
| lead gui programmer 303.357.3548 |
| cheap tickets, part of trip network fax 303.357.3380 |
| 6560 greenwood plaza blvd., suite 400 englewood, co 80111 |
| cendant travel distribution services http://www.cheaptickets.com/ |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list