因为
attribute value templates
(括号中的表达式)do
不
在任何地方都进行评估,但只在属性(因此而得名)中进行评估。用途:
<xsl:value-of select="concat($abc, 'blahblah')" />
就像在其他地方一样,您希望将值写入输出。
为了提高代码的清晰度,我建议使用变量:
<xsl:template name="ClickPIB">
<xsl:param name="abc" />
<xsl:param name="xyz" />
<xsl:if test="string-length($abc) > 0">
<xsl:variable name="vSelector" select="concat($abc, '_td')" />
<xsl:variable name="vArgument" select="concat(substring-before($abc,'_'), '_landreover_', substring-after($xyz,'PXN'))" />
<script type="text/javascript">
$(document).ready(function () {
$('#<xsl:value-of select="$vSelector"/>').getXYZ("<xsl:value-of select="$vArgument"/>");
});
</script>
</xsl:if>
</xsl:template>