[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

How to pass an XPath as a param and evaluate it?

Subject: How to pass an XPath as a param and evaluate it?
From: Richard Fozzard <Richard.Fozzard@xxxxxxxx>
Date: Tue, 28 Jun 2011 17:13:16 -0600
 How to pass an XPath as a param and evaluate it?
Fellow XSLers,

How can I use a string param passed on the command line as an XPath?

E.g., if I have this XML:

<library>
   <book>
       <title>Bob</title>
   </book>
</library>

and I want to have a general-purpose XSL that I can pass an XPath to output any desired XML fragment. So I tried this:

   <xsl:output method="xml" indent="yes"/>
   <xsl:param name="xpath"/> <!-- passed on command line as a param -->

   <xsl:template match="/">
           <xsl:copy-of select="$xpath"/>
   </xsl:template>

passing xpath="/library/book[title='Bob']". But of course, it just outputs this:

/library/book[title='Bob']

while I really wanted the node at that XPath:

<book>
     <title>Bob</title>
</book>

Is there a function or syntax in XSLT 1 or 2 that will evaluate the XPath at run-time?

(BTW, I'm using SaxonPE 9.3 on Linux, if that matters.)

Thanks so much for any help!
--Rich

Richard Fozzard, Computer Scientist
 Geospatial Metadata at NGDC: http://www.ngdc.noaa.gov/metadata

Cooperative Institute for Research in Environmental Sciences (CIRES)
Univ. Colorado & NOAA National Geophysical Data Center, Enterprise Data Systems 325 S. Broadway, Skaggs 1B-305, Boulder, CO 80305
Office: 303-497-6487, Cell: 303-579-5615, Email: richard.fozzard@xxxxxxxx


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2011 All Rights Reserved.