2011-08-17 65 views
1

在一個小的XML轉換項目我的工作,我可以使用XSLT 1.0 translate()函數將轉換爲大寫或小寫,如像this one職位的建議,使類似以下工作正常:如何在XSLT 2.0中使用lower-case()函數?

<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" /> 
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 
<xsl:value-of select="translate(@value, $uppercase, $lowercase)" /> 

不過說真的,我寧願使用XSLT 2.0的lower-case()功能,但以下幾點:

<xsl:value-of select="lower-case(@value)" /> 

...鉻輸出什麼,和Firefox得到「未知」的錯誤0x8060000e,這可能表明, lower-case()功能不被識別。也許我的問題是與XML聲明行嗎?:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

...或者是否有其他東西我失蹤?

+0

大概Chrome和Firefox都支持XSLT 2嗎? –

+0

@Jim Garrison Huh ...我只是假設今天的快速變化的瀏覽器支持4年的標準,但[顯然不是](http://p2p.wrox.com/xslt/59378-browser - 支持 - XSLT-2-0-a.html)。無論如何,如果你想讓你的評論成爲一個答案,我會給你點它。謝謝! – ewall

+0

我已將其添加爲答案 –

回答

1

Chrome和Firefox都支持XSLT2,儘管它已經有4年的標準了。例如見this Firefox bug,自2008年以來一直在衰退。

+0

再次感謝提示。對於這個項目,我最終使用了[Saxon](http://saxon.sourceforge.net/)來完成繁重的任務,但是我錯過了在瀏覽器中開發的便利。 – ewall

+0

帶有Saxon的XSLT 2現在也可以在瀏覽器中與Saxon-CE處理器一起使用。 – pgfearo

相關問題