0
A
回答
0
這裏有一種方法(可能還有其他)。簡單地翻譯所有逗號爲空字符串,然後在差異比較字符串的長度:
<xsl:value-of
select="string-length(@integer)
- string-length(translate(@integer, ',', '')) + 1" />
如果您需要處理空字符串,試試這個,而不是
<xsl:value-of
select="string-length(@integer)
- string-length(translate(@integer, ',', ''))
+ 1 * (string-length(@integer) != 0)" />
0
如果要算上逗號 - 分隔值,但也可以引用單個項目,您可以使用像這樣的遞歸模板。
這XSLT 1.0樣式表將逗號分隔值轉換爲節點,然後計算它們...
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="as-nodes">
<xsl:call-template name="parse-comma-separated-values">
<xsl:with-param name="csv" select="t/@csv" />
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="count(msxsl:node-set($as-nodes)/*)" />
</xsl:template>
<xsl:template name="parse-comma-separated-values">
<xsl:param name="csv" />
<xsl:choose>
<xsl:when test="$csv = ''"/>
<xsl:when test="not(contains($csv, ','))">
<value-node value="{$csv}" />
</xsl:when>
<xsl:otherwise>
<value-node value="{substring-before($csv,',')}" />
<xsl:call-template name="parse-comma-separated-values">
<xsl:with-param name="csv" select="substring-after($csv,',')"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
...當施加到該輸入文件...
<t csv="1,2,3,4,5"/>
... ...產生
5
相關問題
- 1. 計數逗號分隔值
- 2. 逗號分隔值計數
- 3. 計數逗號在
- 4. 計數逗號分隔值 - SQL
- 5. 查詢以逗號分隔計數值
- 6. javascript逗號計數器
- 7. Mysql的逗號計數
- 8. xmlstarlet計數逗號分隔
- 9. XSLT計數不同值
- 10. XSLT串聯與逗號值(,)
- 11. 計數值以逗號分隔的非數字(Google表格)
- 12. 逗號分隔符來計數
- 13. 使用xpath計算逗號的數量
- 14. 帶逗號的數字計算輸出
- 15. 帶逗號的計數器JavaScript代碼
- 16. MySQL的計數逗號分隔
- 17. 獲取一列逗號分隔值的計數和唯一值?
- 18. XSLT計數兄弟
- 19. XSLT計數元件
- 20. 取計數(XSLT 1)
- 21. Handsontable - 計算包含逗號的值
- 22. 在xsl中總計xml逗號值
- 23. 計算類型計數,並添加用逗號分隔的data.table
- 24. 在Oracle中用逗號分隔的列中的計數或總計值SQL
- 25. MYSQL從逗號分隔的不同值計數
- 26. 如何在jQuery中添加逗號ui微調計數器值
- 27. Mysql:獲得逗號分隔值的計數
- 28. MS Access查詢 - 計算逗號分隔列中值的數量
- 29. 找出MySql中基於逗號的值的計數
- 30. 計算逗號分隔值的用戶數
這並不在一個空列表瑣碎的工作情況。您可能需要通過測試進行調整。 – 2012-07-20 07:22:14
好點。我已經添加了另一個例子來處理這個。 – 2012-07-20 07:54:14
謝謝蒂姆。它對我來說非常合適 – sam 2012-07-20 09:07:34