xsl-list
[Top] [All Lists]

RE: Dynamic XPath

2003-05-23 07:23:50
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



<Prev in Thread] Current Thread [Next in Thread>