[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: string parameter to node-set?
[bernd@xxxxxxxxxxxxx] > I am at a loss, and wonder if anybody can help: I pass two parameter > from Javascript into XSLT, the URI of an XML document and an XPath > expression. Both parameters are strings as far as JavaScript > is concerned. > > I can load the XML data with document($para-xml) just fine: > > <xsl:param name="para-xml"/> > <xsl:param name="para-xpath" select="'/'"/> > > <xsl:template match="/"> > <xsl:apply-templates select="document($para-xml)" > mode="transform"/> > </xsl:template> > > Next, I would like to use the XPath expression to select the > node(s) the > subsequent transformation should apply to. Something along > the lines of > this: > > <xsl:template match="/" mode="transform"> > <xsl:apply-templates select="/root/data[@id='whatever']"/> > </xsl:template> > > That works great, too. However, I find myself unable to using > the XPath > parameter instead of the constant XPath expression, as in > > <xsl:template match="/" mode="transform"> > <xsl:apply-templates select="$para-xpath"/> > </xsl:template> > > I suppose this is because the parameter is of type string, and the > select attribute requires a node set. How do I solve this? You cannot use a parameter or variable in a path expression - not in xslt 1.0. For a general xpath expression, your best bet is probably to have your stylesheet create another stylesheet that contains the desired xpath expression, then run the second one to do the actual transformation that you want. Cheers, Tom P XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|