Some products offer an xx:evaluate() extension function that allows you
to evaluate an XPath expression supplied as a string.
The other technique is to create or modify the stylesheet source before
compiling it.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> bernd@xxxxxxxxxxxxx
> Sent: 03 January 2003 16:41
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: string parameter to node-set?
>
>
> 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?
>
> The key problem is that I need to transform a subset of a larger XML
> stream, where the subset is defined through an XPath
> expression and all
> this must happen within XSL in order to avoid cross-domain security
> constrains in JavaScript. Any recommendations welcome.
>
> TIA
> Bernd
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|