Subject: Re: [xsl] Copy path specified by parameter From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 14 Jul 2005 14:21:54 +0100 |
<xsl:param name="path" select="'/part[1]'"/> that sets $path to be a string not an XPath (You can't hold expressions in XPath variables) so <xsl:template match="$path"> is the same as <xsl:template match="'/part[1]'""> and will report an error that a pattern must select nodes not strings. If you really must have a string then you will need to use an evaluate extension function that can evaluate an Xpath stored in a string. I assume you are using saxon8 which has such an extension in which case you just need <xsl:template match="/"> <xsl:copy-of select="saxon:evaluate($path)"/> but a more natural way for xslt would be to not pass in a string but rather pass in a sequence selected by teh xpath so have a default of <xsl:param name="path" select="/part[1]"/> <!-- default value --> and then you could just use <xsl:sequence (or copy-of) select="$path"/> Most API's (other than the command line) let you set parameters to be sequnces (node-sets in xpath 1 terminology) David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Copy path specified by parame, Steve Lloyd | Thread | [xsl] different versions of xmlns:f, Brendan Kehoe |
Re: [xsl] [xsl-list] Storing an XPa, Jason Kohls | Date | [xsl] different versions of xmlns:f, Brendan Kehoe |
Month |