【问题标题】:Using client side XSLT transformations in the HTML5 era在 HTML5 时代使用客户端 XSLT 转换
【发布时间】:2012-04-08 11:55:22
【问题描述】:

任何人都可以就移动 HTML5 浏览器中客户端 XSLT 的可用性提供帮助吗? caniuse.com 上面什么都没有。

XSLT 是否真的在当前的移动浏览器中标准化了?

HTML5 规范没有关于 XSLT 的任何内容,它质疑 XML 是否有未来(鉴于有 JSONP 但没有“XMLP”这一事实)

【问题讨论】:

    标签: html xslt cross-browser client-side mobile-website


    【解决方案1】:

    XSLTProcessor API 是 HTML5 脚本规范的一部分:

    当 XSLT 转换程序由处理指令触发并且浏览器实现直接到 DOM 转换时,需要将 XSLT 处理器创建的脚本元素标记为“解析器插入”并按文档顺序运行(模脚本标记为 defer 或 async),在转换发生时立即进行。

    Safari Web Content Guide 说:

    iOS 2.0 及更高版本支持 XSLT。

    Android 2.2.x(Level 8) 为 XSLT 添加了 Java API,可通过 JavaScript 的 XSLTProcessor API 访问客户端。

    Android 4.0 支持XSLT processing instructions,根据以下问题的回答:

    【讨论】:

      【解决方案2】:

      XSLT 1.0 客户端的可用性现在在现代浏览器中非常普遍,但某些移动平台除外;并且一致性水平也相当合理(可能比 Javascript/DOM 更好)。几个月来,我们一直在为 Saxonica 网站使用客户端 XSLT,并且很少有问题报告,尽管我们确实有一个静态 HTML 的后备站点,当我们检测到 XSLT 不是时,我们会重定向到该站点。 t 支持。

      最近开源的Saxon-CE 现在可以在任何支持 Javascript 的浏览器上提供 XSLT 2.0。它所做的不仅仅是将 XSLT 支持升级到 XSLT 2.0;它还提供了一种在浏览器中处理用户输入和创建交互式应用程序的声明方式。

      当然,浏览器供应商在很大程度上已经对 XML 失去了兴趣。内容发布商并非如此,因此需要由第三方来填补空白。

      【讨论】:

      • 那些特定的移动例外是问题所在。感谢您抽出宝贵时间。
      【解决方案3】:

      确保您的 XML 始终正确转换的唯一方法是在服务器端进行。当前桌面浏览器的兼容性存在巨大差异,而移动浏览器当然也不会做得更好。此外,HTML5 与 XSLT 无关,因为 XSLT 不是 HTML 的替代品。 XSLT 能够生成您需要的几乎任何格式,包括 HTML,但它的设计目的不是像 HTML 或 XML 那样表示数据。

      【讨论】:

      • 谢谢。我知道 html5 和 xslt 之间的区别,我只是希望标准化过程能够以某种方式处理问题,例如拖放等,但无论如何感谢。
      • @PeterAronZentai:啊,好吧。很抱歉误解了 HTML 部分。 XSLT 功能不是浏览器的必需功能,因此您不应依赖它。服务器端是要走的路。
      猜你喜欢
      • 2011-12-25
      • 2012-01-25
      • 1970-01-01
      • 2012-12-19
      • 2021-11-10
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多