关于移动HTML5浏览器中客户端XSLT的可用性,有人能提供帮助吗?caniuse.com上什么都没有。
XSLT真的在当前的移动浏览器中标准化了吗?
HTML5规范没有关于XSLT的任何内容,这让人怀疑XML是否有未来(鉴于存在JSONP但没有"XMLP")
XSLT1.0客户端的可用性现在在现代浏览器中相当普遍,但一些移动平台除外;一致性级别也相当合理(可能比Javascript/DOM更好)。几个月来,我们一直在Saxonica网站上使用客户端XSLT,很少有问题报告,尽管我们确实有一个静态HTML的后备网站,当我们检测到不支持XSLT时,我们会重定向到它。
最近开源的Saxon CE现在可以在任何支持Javascript的浏览器上提供XSLT2.0。它所做的不仅仅是将XSLT支持升级到XSLT2.0;它还提供了一种在浏览器中处理用户输入和创建交互式应用程序的声明性方式。
当然,浏览器供应商在很大程度上已经对XML失去了兴趣。内容出版商的情况并非如此,因此应由第三方来填补这一空白。
XSLTProcessor
API是HTML5脚本规范的一部分:
- 脚本元素与XSLT的交互
当XSLT转换程序由处理指令触发,并且浏览器实现直接到DOM的转换时,XSLT处理器创建的脚本元素需要标记为"插入解析器",并在转换发生时立即按文档顺序运行(标记为defer或async的模脚本)。
Safari网络内容指南说:
iOS 2.0及更高版本支持XSLT。
Android2.2.x(8级)为XSLT添加了JavaAPI,可通过JavaScript的XSLTProcessorneneneba API访问客户端。
根据以下问题的答案,Android 4.0支持XSLT处理指令:
- Android浏览器是否能够执行xsl转换
确保XML始终正确转换的唯一方法是在服务器端进行转换。目前的桌面浏览器在兼容性方面存在巨大差异,而移动浏览器肯定不会做得更好。另外,HTML5与XSLT无关,因为XSLT不能替代HTML。XSLT能够生成几乎任何您需要的格式,包括HTML,但它并不是像HTML或XML那样用来表示数据的。