<xsl:variable name="filterValue"
>@subject = 'Subject To Filter On'</xsl:variable>
<xsl:for-each select="$Rows[$filterValue]">
在我看来,$ filterValue被视为文字字符串而不是被评估。我怎样才能使变量值得到评估呢?
期望的结果:
<xsl:for-each select="$Rows[@subject = 'Subject To Filter On']">
如果之前已经回答过,我很抱歉,我对XSL的术语知之甚少,所以我在网上搜索时遇到了麻烦。感谢。
答案 0 :(得分:1)
XSLT 1.0和XSLT 2.0都不支持动态评估XPath表达式。
通常,有解决方法。
在这种特定情况下,您可以拥有(全局/外部)参数:
<xsl:param name="attrName" select="'subject'"/>
<xsl:param name="attrValue" select="'Subject To Filter On'"/>
,然后在您的代码中
<xsl:for-each select="$Rows[@*[name()=$attrName] = $attrValue]">