<xsl:template match="foobar">
<xsl:if test="a[name = 'foo']">
<xsl:apply-templates select="x/y[1]|x/y[2]" />
</xsl:if>
<xsl:if test="a[name = 'bar']">
<xsl:apply-templates select="x/y[3]|x/y[4]|x/y[5]" />
</xsl:if>
</xsl:template>
我想将位置路径表达式 "x/y[1]|x/y[2]" 和 x/y[3]|x/y[4]|x/y[5] 作为参数传递,因为这个值将来可能会改变,我不想编辑模板,只想编辑参数定义。我想使用上面的模板作为
<xsl:template match="foobar">
<xsl:if test="a[name = 'foo']">
<xsl:apply-templates select="$param1" />
</xsl:if>
<xsl:if test="a[name = 'bar']">
<xsl:apply-templates select="$param2" />
</xsl:if>
</xsl:template>
据我所知,这是不可能的。将位置路径表达式外部化的最佳方法是什么?
提前谢谢了