xslt包含函数来测试字符串

问题描述:

[更新]:我无法解决以下问题,必须完全改变if条件以满足我的需要。由于XSLT代码是在一个Web应用程序中编写的,这个Web应用程序有很多限制,比如我无法获得输入XML文件或输出XSLT文件等,这阻碍了其他用户的健康解决方案和建议。xslt包含函数来测试字符串

[主持人]:让我知道我能做些什么来解决这个问题,以便为大家服务。

我想使用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 ##为一个字符串,上面的方法是不正确的不作为变量。

现在我要检查包括(),所以我曾尝试下面的代码,

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

任何人都能指出什么是错的代码?

+0

这是非常混乱。你为什么不从头开始(这个“特定的字符串”来自哪里),移动到中间(你想知道关于这个字符串的什么),并结束于最后(你想作为一个结果发生什么?导致每种情况)。 –

+0

嘿@ michael.hor257k,我正在使用xslt从数据视图中获取数据的Web应用程序中工作。第一段代码正常工作,我在我的变量## TESTDTA_here ##中获得了所需的文本。然而,问题是当我尝试将它分配给我的xsl变量,所以我可以在contains()中使用它。 – noobcode

+0

嗯,这里**的问题是,我不知道你的问题是什么... –

文本字符串应该是单引号,像这样:

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

我试过上面的代码,但没有奏效。 – noobcode

+0

您可以发布您的输入XML,使用的XSLT和期望的输出XML吗? –

+0

我没有输入xml,因为我正在付费的web应用程序中编写我的xslt代码。我想要的是能够执行我的xslt,如果条件 //文本 – noobcode