[xsl] Variable Substitution In A Select Statement

Subject: [xsl] Variable Substitution In A Select Statement
From: Raymond Lillibridge <RLillibridge@xxxxxxxxxxxx>
Date: Tue, 24 May 2011 13:07:28 +0000
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.


Cheers,
Raymond Lillibridge

Current Thread