|
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 |