2014-02-14 62 views
0

[更新]:我無法解決以下問題,必須完全改變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

嗯,這裏**的問題是,我不知道你的問題是什麼... –

回答

0

文本字符串應該是單引號,像這樣:

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

我試過上面的代碼,但沒有奏效。 – noobcode

+0

您可以發佈您的輸入XML,使用的XSLT和期望的輸出XML嗎? –

+0

我沒有輸入xml,因爲我正在付費的web應用程序中編寫我的xslt代碼。我想要的是能夠執行我的xslt,如果條件 //文本 – noobcode

相關問題