xslt包含测试字符串的函数

时间:2014-02-14 09:26:50

标签: xml xslt

[更新]:我无法解决以下问题,必须完全更改if条件以满足我的需求。由于XSLT代码是在Web应用程序中编写的,因为我无法获得输入XML文件或输出XSLT文件等因为无法获得其他用户提供的健康解决方案和建议。

[主持人]:让我知道我能在SO中对这个问题做些什么,以便它最适合每个人。

我正在尝试使用XSLT包含函数(不起作用)测试特定字符串。以下是我的观察测试结果

我正在通过此代码获取需要测试的文本。

<xsl:template name="TESTDATA_here">
  <xsl:call-template name="TESTDATA_here">
        <xsl:with-param name="TESTDATA_here" select="nodeName/TESTDATA_here"/>
  </xsl:call-template>
</xsl:template>

使用上面的代码,我得到## TESTDATE_here ##作为变量,在执行时打印实际文本。到目前为止工作正常。 然后我将输出分配给变量

<xsl:variable name="testdata_here">##TESTDATA_here##</xsl:variable>

我也尝试过使用

<xsl:variable name="testdata_here" select="##TESTDATA_here##" />

但我猜上面的方法不正确,因为它认为## TESTDATA_here ##是一个字符串而不是一个变量。

现在我要检查contains(),所以我尝试了下面的代码,

<xsl:if test="contains($testdata_here, 'T')">
This does not work :(
</xsl:if>

有人能指出代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

文字字符串应该是单引号,如下所示:

<xsl:variable name="testdata_here" select="'##TESTDATA_here##'" />