2013-09-30 29 views

回答

3

你可以用遞歸模板來做到這一點。

<xsl:template name="add-spaces"> 
    <xsl:param name="group" select="5" /> 
    <xsl:param name="text" /> 
    <xsl:if test="string-length($text) &gt; $group"> 
    <xsl:call-template name="add-spaces"> 
     <xsl:with-param name="group" select="$group" /> 
     <xsl:with-param name="text" 
       select="substring($text, 1, string-length($text) - $group)" /> 
    </xsl:call-template> 
    <xsl:text> </xsl:text> 
    </xsl:if> 
    <xsl:value-of select="substring($text, string-length($text) - $group + 1)" /> 
</xsl:template> 

使用

<xsl:call-template name="add-spaces"> 
    <xsl:with-param name="text" select="'433554567643'" /> 
    <!-- or select="path/to/element" as appropriate --> 
</xsl:call-template> 
+0

嘿,哇......謝謝。它的工作...我真的很感激它。非常感謝。 – user1441279

+0

@ user1441279很高興提供幫助,歡迎來到Stack Overflow。當你得到一個解決你的問題的答案時,通過點擊左邊的勾號來接受它是很好的舉止。這顯示了其他人一眼就可以解決問題。 –

+0

謝謝。我只是勾選了。我將爲未來記住這一點。再次感謝你。 – user1441279

0

如果你的價值始終是一個號碼,你可以使用format-number()帶有圖案需要時你會調用這個那個組由5位數字,然後translate()了「」成「」:

<xsl:value-of select="translate(format-number('433554567643', '#,#####'), 
           ',', ' ')" />