2016-12-07 90 views
0

我有一個for-each循環獲取數據XSLT - 如何從for-each循環獲取值之外,它使用

<xsl:for-each select="data/table0/item"> 
    <xsl:value-of select="UIXsltUtils:BuildLink(tag)" disable-output-escaping="yes"/> 
    <xsl:if test="position() != last()">, </xsl:if> 
</xsl:for-each> 

- >結果:

dap, dinh-vu, iphone 6, mephone8, o-nhiem, bb, sai-pham, xu-phat 

我想用此字符串設置一個div的屬性的值(在XSLT代碼其他塊)

<div class="clearfix m-t-5" initData="init('{$NeedDataAboveHere}','the-thao')"> 

我想要的結果是:

<div class="clearfix m-t-5" initData="init('dap, dinh-vu, iphone 6, mephone8, o-nhiem, bb, sai-pham, xu-phat','the-thao')"> 

回答

3

你可以簡單地這樣做:

<xsl:variable name="NeedDataAboveHere"> 
    <xsl:for-each select="data/table0/item"> 
    <xsl:value-of select="UIXsltUtils:BuildLink(tag)" /> 
    <xsl:if test="position() != last()">, </xsl:if> 
    </xsl:for-each> 
</xsl:variable> 

來存儲您的for-each的結果。

然後,線

<div class="clearfix m-t-5" initData="init('{$NeedDataAboveHere}','the-thao')"> 

應檢索所需的值。

+3

但刪除禁用輸出轉義。首先,這裏沒有任何需要轉義的東西,因此沒有理由禁用它。其次,XSLT 1.0處理器在編寫變量(而不是序列化的最終結果)時是否適用於d-o-e是不一致的。 –

+1

好的,我糾正了答案。事實上,我在這個問題上粘貼了「」片段,並沒有對此給予多少關注。 – potame

+0

感謝您的回答。 – Sonrobby