我需要編寫一個XSLT模板來標識一串數字。我怎樣才能做到這一點?用於識別奇數/偶數的XSLT模板?
1
A
回答
1
XSLT 1.0溶液:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="pNumbers" select="'2,23,12,251'"/>
<xsl:template match="/">
<xsl:call-template name="classify"/>
</xsl:template>
<xsl:template name="classify">
<xsl:param name="pNums" select="$pNumbers"/>
<xsl:if test="string-length($pNums)">
<xsl:variable name="vN" select=
"substring-before(concat($pNums, ','), ',')"/>
<num odd="{$vN mod 2 = 1}">
<xsl:value-of select="$vN"/>
</num>
<xsl:call-template name="classify">
<xsl:with-param name="pNums" select=
"substring-after($pNums, ',')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
當這種轉化是在任何XML文檔(未使用)施加,有用的,正確的分類是生產:
<num odd="false">2</num>
<num odd="true">23</num>
<num odd="false">12</num>
<num odd="true">251</num>
2
要將字符串拆分爲數字序列,請在XSLT 2.0中使用tokenize()
,或者在XSLT 1.0中使用EXSLT str:tokenize
。測試多個$ N是偶數,則使用$N mod 2 = 0
+0
好的'mod'語法。 –
相關問題
- 1. 識別11的倍數和奇數或偶數的輸入
- 2. 爪哇,偶數偶數,奇數奇數
- 3. 如何識別它是奇數還是偶數並添加類?
- 4. Java棋盤,奇數/偶數%2面板
- 5. 液體模板:for循環中的偶數/奇數項
- 6. 調用偶數和奇數
- 7. 麻煩與元函數,用於識別類內模板類
- 8. 奇數偶數和
- 9. XSLT如何風格有條件的奇數/偶數行
- 10. 偶數,奇數,素數
- 11. 數字偶數或奇數
- 12. select()函數用於識別HTML中的綁定模板的使用
- 13. 用偶數和奇數排序數組
- 14. 奇數和偶數位
- 15. Pascal - 奇數和偶數
- 16. 奇數偶數鏈表
- 17. Python 2奇數或偶數
- 18. 乘以偶數,加奇數
- 19. Div奇數和偶數
- 20. 奇數和偶數排隊
- 21. 用於數據對齊和數據差異的模式識別
- 22. 在xslt中無法識別xpath函數
- 23. 如何獲取Django for循環模板中的奇數和偶數值?
- 24. 用於創建模板XML的XSLT
- 25. 偶數和奇數的數組
- 26. 打印數組的奇數和偶數
- 27. 計算偶數和奇數的數量
- 28. 檢查指數的奇數和偶數
- 29. 關於偶數和奇數的Haskell函數
- 30. 使用mod_rewrite匹配奇數或偶數
您可以發佈您使用的傳入XML嗎? – ssamuel
哪個版本的XSLT和您期望輸出的內容? –
好問題,+1。 XPath'mod'運算符是你的朋友。 Tokenization與使用XPath 2.0/XSLT 2.0的'tokenize()'或XSLT 1.0中的遞歸調用命名模板一樣簡單。 –