Raymond Lillibridge wrote:
xsl-list Members,
Using Saxon-PE 9.3.0.5J from Saxonica (XSLT 2.0):
The following template matches on the specified @id in $FileA. Just what I
need.
<xsl:apply-templates select="$FileA/book/level1[2]/level2[4]/section[2]/@id" />
However, if I have a variable, $Axpath_new, valued at "book/level1[2]/level
2[4]/section[2]", the following template returns nothing:
<xsl:apply-templates select ="$FileA/$Axpath_new/@id" />
Testing a multitude of methods, I could never get a variable to work in the
select statement.
After much studying about how to make the template work properly, I read that I
could try using the extension function node-set(). Further research stated
that my free version of Saxon9 doesn't include those extensions but the
Saxon9pe version does. So, I purchased a copy of Saxon9pe and installed it
yesterday. (Also, I believe I read that if I was using XSLT 2.0, I wouldn't
need to use the node-set() function.)
Any way, it seems like such a simple thing but I'm at a loss, and I'm asking
for your kind assistance.
Well node-set is an extension function that is not needed at all in XSLT
2.0.
You need evaluate instead
<xsl:apply-templates xmlns:saxon="http://saxon.sf.net/" select
="$FileA/saxon:evaluate($Axpath_new)/@id" />
--
Martin Honnen --- MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--