Subject: Re: [xsl] How to pass an XPath as a param and evaluate it? From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> Date: Wed, 29 Jun 2011 12:08:46 +0200 |
> Is there a function or syntax in XSLT 1 or 2 that will evaluate > the XPath at run-time? as others have stated, no for XSLT 1 or 2. But if you use a XSLT 1 processor providing EXSLT dynamic package you can simply use dyn:evaluate(...) for that: http://exslt.org/dyn/functions/evaluate/index.html Mit besten Gruessen / Best wishes, Hermann Stamm-Wilbrandt Developer, XML Compiler, L3 Fixpack team lead WebSphere DataPower SOA Appliances https://www.ibm.com/developerworks/mydeveloperworks/blogs/HermannSW/ ---------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschaeftsfuehrung: Dirk Wittkopp Sitz der Gesellschaft: Boeblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 From: Richard Fozzard <Richard.Fozzard@xxxxxxxx> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Date: 06/29/2011 01:13 AM Subject: [xsl] 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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to pass an XPath as a, Richard Fozzard | Thread | Re: [xsl] Grouping data at multiple, Senthilukvelaan |
Re: [xsl] How to pass an XPath as a, Andrew Welch | Date | [xsl] FW: [Sedna-discussion] Strang, Robby Pelssers |
Month |