RE: [xsl] Dynamic XPath

Subject: RE: [xsl] Dynamic XPath
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Fri, 23 May 2003 18:54:52 +0100
Some products, for example Saxon and Xalan, have an extension
xx:evaluate() to do dynamic XPath evaluation, but MSXML doesn't.

Michael Kay


> Or to be more obvious:
> 	<xsl:variable 
> name="dynamicPath">/document/section/keep/pear</xsl:variable>
> Basically I want to be able to change the path from one node 
> to another, for example
> 	<xsl:variable name="dynamicPath"><xsl:copy-of 
> select="//configuration/searchPath" /></xsl:variable>
> 
> Which then changes the result of   <xsl:variable name="textContent"
> select="{$dynamicPath}/text()" />
> 
> i.e. I want the parser to process the {$dynamicPath} and 
> replace it with a literal string and then excute the search, in effect
> 	 <xsl:variable name="textContent" 
> select="/document/section/keep/pear/text()" />
> 
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> G. Ken Holman
> Sent: 23 May 2003 15:19
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Dynamic XPath
> 
> 
> At 2003-05-23 15:08 +0100, Philip Fitzsimons wrote:
> >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()" />
> 
> You are not showing what I would call "a dynamic XPath".  Consider:
> 
>          <xsl:variable name="dynamicPath"
>                       select="/document/section/keep/pear" />
>          <xsl:variable name="textContent" 
> select="$dynamicPath/text()" />
> 
> I've modified the second instruction above, such that the 
> node-set variable 
> named $dynamicPath, which includes the nodes selected by your XPath 
> expression in the first insturction, is used to address all 
> the text nodes 
> from each.
> 
> It is very acceptable to begin an XPath expression with a 
> reference to a 
> node-set variable.
> 
> What did you mean by "dynamic"?
> 
> ................. Ken
> 
> --
> Upcoming hands-on courses: (registration still open!)
> -      (XSLT/XPath and/or XSL-FO) North America: June 16-20, 2003
> 
> G. Ken Holman                mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/s/
> Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999 (F:-0995)
> ISBN 0-13-065196-6                      Definitive XSLT and XPath
> ISBN 0-13-140374-5                              Definitive XSL-FO
> ISBN 1-894049-08-X  Practical Transformation Using XSLT and XPath
> ISBN 1-894049-11-X              Practical Formatting Using XSL-FO
> Member of the XML Guild of Practitioners:    http://XMLGuild.info
> Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread