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[(_at_)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