2016-12-07 52 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