我該如何做「a-z或A-Z之間的子串(變量,1,1)」,然後使用XSLT做X X else?我知道一個選項會使用正則表達式,但我希望那裏有些東西不是太過於誇張。非常簡單的XSLT字符串問題
1
A
回答
3
一個簡單的XSLT 1.0溶液:
這種變換:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:variable name="vLetters"
select="'ABCDEFGHIKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'"/>
<xsl:variable name="vText" select="'1Text'"/>
<xsl:template match="/">
<xsl:choose>
<xsl:when test=
"contains($vLetters, substring($vText,1,1))">
Letter
</xsl:when>
<xsl:otherwise>
Not Letter
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
當在任何XML文檔(未使用)施加, 產生想要的結果:
Not Letter
根據具體情況,可以添加任何處理對於<xsl:choose>
指令的兩個「子句」(<xsl:when>
和<xsl:otherwise>
)中的每一個都是必需的。
1
而對於XSLT 2.0,您可以使用正則表達式功能matches
:
<xsl:choose>
<xsl:when test="matches($variable1, '^[a-zA-Z].*$')">
Match
</xsl:when>
<xsl:otherwise>
NoMatch
</xsl:otherwise>
</xsl:choose>
相關問題
- 1. 非常非常簡單的MVVM問題
- 2. Java:system.out.println連接字符串內的東西(非常簡單的問題)
- 3. 簡單的Perl字符串問題
- 4. XSLT非常簡單的轉換需求
- 5. 非常簡單的io問題C++
- 6. php-sprintf非常簡單的問題
- 7. 非常簡單的Ajax問題
- 8. 非常簡單的PHP添加問題
- 9. 簡單C++子字符串問題
- 10. 問題渲染*非常*簡單部分在* *非常簡單的應用程序
- 11. 問題非常簡單python3程序
- 12. 添加字符litterals perl(非常簡單)
- 13. 非常簡單的C字符串:存儲和使用C
- 14. 非常簡單的python循環字符串
- 15. 非常簡單的菜單問題的Android
- 16. 解析非常大的JSON字符串在IE導致問題
- 17. 非常簡單的jQuery屬性提問
- 18. 創建ASCII編碼字符串這裏有什麼應該是一個非常簡單的問題
- 19. 簡單的JavaScript字符串問題ie6和ie7
- 20. 簡單的字符串和可變問題使用jQuery
- 21. 存儲字符串到數據庫中的簡單問題
- 22. C#字符串 - 簡單的語法問題
- 23. AS3 - 非常簡單的文字冒險
- 24. 一個非常簡單的正則表達式的問題
- 25. 運行一個非常簡單的Python程序的問題
- 26. 關於Fortran的非常簡單的問題 - UNIX編譯
- 27. 非常簡單的關於淡入和淡出的AS問題
- 28. 使用getchar()和putchar()的非常簡單的C問題
- 29. 關於數組的一個非常簡單的問題
- 30. 關於jQuery提交的非常簡單的問題
Hmmh。爲什麼正則表達式會是一個矯枉過正的問題? XSLT本身的重量足夠大,我認爲不需要關心使用RE。 好的處理器應該儘可能地預編譯它們。 – StaxMan 2009-04-15 20:44:58
我遵循正確的說法,希望確保字符串變量的第一個字符是大寫還是小寫字母? – el2iot2 2009-04-15 21:06:07