2016-04-22 44 views
0

我不太確定如何對此進行描述,因爲我對XSL還是比較新的。我目前有一個<xsl:for-each>,我正在循環,我需要將每個的一部分追加到測試值。我希望我解釋得很好。這裏是我的代碼:將xsl「變量」附加到xsl:if test

<div class="radio"> 
    <label> 
    <input type="radio" name="withdraw_source" 
      data-target="dpx-container_{./account_number}" 
      value="dpx_{./account_number}"> 
     <xsl:if test="//form_data/withdraw_source = 'dpx'"> 
      <xsl:attribute name="checked">checked 
      </xsl:attribute> 
     </xsl:if> 
    </input> 
    <strong> 
     <xsl:value-of select="./message" disable-output-escaping="yes"/> 
    </strong> 
    </label> 
</div> 

現在,他這樣說,我需要做的就是像下面這樣:

<div class="radio"> 
    ... 
     <xsl:if test="//form_data/withdraw_source = 'dpx_{./account_number}'"> 
      <xsl:attribute name="checked">checked 
      </xsl:attribute> 
     </xsl:if> 
    ... 
</div> 

任何幫助是極大的讚賞。乾杯!

回答

1

似乎concat()是你在找什麼。

嘗試:

<xsl:if test="form_data/withdraw_source = concat('dpx_', ./account_number)"> 
+0

當我使用,我得到2個錯誤,「CONCAT需要2個參數」和「屬性值模板這裏不允許使用」。 – webdevsoup

+1

@webdevsoup:對不起,複製/過去的錯誤 - 擺脫'{'和'} –

+0

由於某些原因,這仍然無法正常工作。我沒有得到格式錯誤的XML數據錯誤,並且頁面顯示爲它應該。然而,選中的''仍然沒有得到應用。 – webdevsoup