XML snippet:
<process>
<number>1</number>
<name>evaluate</name>
<descrip>[Description.]</descrip>
</process>
XSL snippet:
<!-- default value of params is empty string; if user chooses a
processArea option, I'll send the parameter to the stylesheet and set this
value -->
<xsl:param name="processArea" /><!-- if sent, value will be 1, 2, 3 or
4 -->
. . .
. . .
<xsl:variable name="selectStatement">/process-report/process
<xsl:if test="$processArea != ''">[starts-with(number,<xsl:value-of
select="$processArea"/>)]</xsl:if>
</xsl:variable>
. . .
. . .
<xsl:apply-templates select="$selectStatement"/>
This is a FAQ: Standard XSLT 1.0 and 2.0 do not support dynamic evaluation
of string representation of an XPath expression.
And in this case dynamic evaluation is not necessary -- use:
<xsl:apply-templates select="process[starts-with(number, $processArea)]"/>
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list