2017-02-17 52 views
0

我剛開始擺弄XSL以便在某些收集器的軟件中創建我自己的「視圖模板」。在代碼中,我試圖插入換行符作爲分隔符,只要有多個條目而不是「,」,但是我在解決問題時遇到了困難。我讀過插入「 」應該做的伎倆,但它只爲我輸出一個空間。另外閱讀看似簡單的選項,如[br]和[p],但是這些代碼在插入它們而不是逗號時會破壞模板。在XSL中尋找每個結果的換行符

希望你能幫我指出我要出錯的地方,提前致謝!

<xsl:for-each select="userdefinedvalues/userdefinedvalue[@fieldid='dfUserField100010']/values/value"> 
<xsl:value-of select="."/> 
<xsl:if test="position()!=last()"> 
<xsl:text>, </xsl:text> 
</xsl:if> 
</xsl:for-each> 
+0

http://stackoverflow.com/a/42281558/3016153 –

回答

1

您可以在<xsl:text>元素使用,而不是逗號:

<xsl:text>&#x000D;&#x000A;</xsl:text> 

的&#開始使用十六進制值字符引用。該值是要輸出的字符的Unicode代碼點。 000D是回車,000A是換行符。根據輸出的需要,你可能只需要換行符。

+0

感謝您的回答! 不幸的是,我試圖添加代碼,它仍然只輸出一個空格。難道說我正在使用的程序不支持在多行中分佈的1個字段中的多個結果? – DoubleUD

+0

@DoubleUD你用什麼程序來查看輸出? XSLT是輸出XML,文本還是HTML?如果輸出被某些東西解釋,它可能會將換行符或其他控制字符變成空格。 –

+0

我正在使用一個名爲CLZ Game Collector的程序。這是一個很好的計劃,但在定製方面它不是非常用戶友好的。相反,它鼓勵你根據程序已經使用的模板拼湊你自己的代碼文件。長話短說,我想你剛剛證實了我的懷疑,我想這正是這裏發生的事情。所以我會嘗試使用斜槓符號而不是逗號來解決問題。無論如何,非常感謝您的時間和幫助! – DoubleUD