2013-11-25 71 views
1

的結果刪除最後我有一個XML如下圖所示XSLT - 從模板調用

<employee id="e001"> 
<sal month="jan"> 
<basic>5000</basic> 
<commission>3000</commission> 
<sal> 
<sal month="feb"> 
<basic>5000</basic> 
<commission>3500</commission> 
<sal> 
<employee> 

我想,如下所示將其轉換爲XML。

<emp id="e001" sal="5000-3000/5000-3500"></emp> 

我打電話模板如下圖所示帶參數的員工/ *

<xsl:template name="salCnsldtd"> 
    <xsl:param name="list" /> 
    <xsl:for-each select="$list"> 
     <xsl:value-of select="concat(basic,'-',commission,'/')" /> 
    </xsl:for-each> 
</xsl:template> 

我的模板調用後得到的結果如下。

<emp id="e001" sal="5000-3000/5000-3500/"></emp> 

如何從sal中刪除最後一個斜槓(/)。請幫助我提供更好的解決方案或刪除斜線。謝謝。

回答

1

嘗試這種情況:

<xsl:template name="salCnsldtd"> 
    <xsl:param name="list" /> 
    <xsl:variable name="compensation"> 
    <xsl:for-each select="$list"> 
     <xsl:value-of select="concat('/',basic,'-',commission)" /> 
    </xsl:for-each> 
    </xsl:variable> 
    <xsl:value-of select="substr($compensation,2)"/> 
</xsl:template> 

我移動定界符「/」到每個元件的前,然後汽提掉在最終的字符串的第一個。

+0

非常感謝吉姆。有效。我使用xslt 1.0,所以我將substr改爲substring。這就對了。 –