2011-08-17 63 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

相关问题