客户端XSLT

Cha*_*ira 20 xslt client-side

我将整个站点转换为XML/XSL,我想了解执行客户端XSLT的所有当前问题.

以下是我已经知道的(来自第一手经验):

  • 跨域XSL文件(这是一个安全问题,而不是跨浏览器)
  • disable-output-escaping(这在FF中不起作用......他们认为这是一个安全问题)

此外,对于浏览器支持,这是我所知道的:

  • Opera 9+
  • FF 1.0+
  • SF 2.0 +(我可能错了)
  • IE 6.0 +

任何其他人也会有帮助:)

编辑:

至于第二个陷阱,有一个不错的解决方法,可以让你将xhtml传递给你的xsl.它的工作原理是实际转换并确保您的XHTML是有效的XML并将其作为XML放入XML中.然后在您的XSL中复制xml;)并将其输出为XHTML.

a p*_*erd 14

  • 速度:浏览器需要在呈现HTML之前应用XSLT转换,因此用户必须等待更长时间才能看到该页面.浏览器使用的XSLT引擎可能不是一流的.在Mac OS X上,浏览器可能会在XML转换时冻结并导致"旋转沙滩球"光标,因此用户可能会猛击屏幕并伤害他或她自己.

  • 辅助功能:那些不在该设置中的浏览器如屏幕阅读器怎么样?那些用户对你很重要吗?

  • 我将所有模板生成卸载到客户端(从而节省了大量的CPU),我有一个浏览器列表,我知道XSLT的工作原理,所以我发送实际的XML/XSL.如果浏览器不在白名单上,则服务器为它们执行XSLT并发送HTML.谢谢,我会将此添加到我的优缺点列表中. (4认同)
  • 我不确定我是否同意在客户端上_always_缓慢运行xslt/xml转换的一揽子声明:这可能(并且经常在实践中)意味着加载n/w(xsl/xml)的东西更少可能小于生成的html/xhtml):取决于机制与之比较(比如JSP/ASP /服务器端XSLT转换) - 这种客户端方法实际上可以卸载从服务器到客户端的处理时间. ..并且应该更多并发用户扩展... (4认同)

cor*_*ttk 5

在性能方面......考虑到目前大多数客户端每个都有2个CPU和2 GB RAM,并且大多数服务器都没有......每个客户端有两个CPU + 2 GB.因此,卸载XSLT转换应该提高可伸缩性是合乎逻辑的,缓存CSS + XSLT + JS 应该可以减少总体流量.

说过我曾经尝试过使用XSLT生成包含SVG的XHTML,并且有史诗般的失败.最大的页面太大了(索引中有3,000多个条目),IE使用DOM来进行XSLT转换,这导致它开始变废乱.在xerces-j中完成的相同转换(在服务器上,在相同的开发盒上)大约快了1000倍.

这是浏览器猴子加入该计划的高潮时间;-)

一个有趣的讨论.谢谢你提高它.

干杯.基思.