模板:XSLT与jQuery

Mui*_*uis 15 xslt rest jquery templates render

我需要一个与我的应用程序捆绑的html页面的模板机制.起初我查看了所有javascript模板解决方案(比如jQuery模板),但由于我的输入数据是XML,我突然想起了XSLT.我遇到了数十个库,但似乎没有人使用XSLT,所以我完全忘记了它的存在,以及创建模板的用处.

那么,XSLT是否会被javascript替代品慢慢弃用并逐步淘汰?我在某处读到XSLT对于大多数用户来说太复杂了,但这是它唯一的缺点还是有更多的缺点?

更新:我自己只能想到一个缺点:使用XSLT,必须在向用户显示任何内容之前解析/呈现整个页面,并且使用javascript页面已经可见,之后填充缺少的元素.

Dim*_*hev 8

XSLT是一种现代XML转换和函数式编程语言.即将推出的3.0版本能支持(与XPath 3.0一起)高阶函数以及其他新功能.

XSLT并不"老"(很少有人知道XSLT 2.0或者知道XSLT 3.0正在由W3C XSLT WG处理).

浏览器中的XSLT最近得到了Saxon CE的大力推动- 一个精简的XSLT 2.0处理器,从Java编译为Javascript,可在五个主要浏览器的客户端使用.@Michael Kay甚至演示了在他的iPhone上运行客户端的XSLT 2.0 ......

  • 感谢Saxon CE的信息.这真的很厉害.我正在使用它来开发一个Web应用程序,精通技术的用户可以创建自己的页面布局而无需编写完整的代码.他们只创建简单的XML文件,Saxon和jQuery完成剩下的工作. (2认同)

Bla*_*ger 7

XSLT是一个很好的模板解决方案.语言和语法有点不同寻常 - "选择/何时"而不是"案例/开关"是一个明显的例子 - 但它的工作做得很好.

XSLT的主要优点是您不需要JavaScript来使用它; 无论JS是否启用,每个主要浏览器都会将其呈现为HTML.处理器可能比JavaScript解决方案更容易,但我不知道有谁测试过这个.如果您已经处理XML数据,那么它也是显而易见的选择.

缺点是它是一种(相对)旧的技术,在很大程度上已被抛弃,虽然浏览器仍然支持它,但它们还没有向前发展.Firefox有一个HTML转义问题,他们无意修复,而Chrome在@includes方面存在一个相当大的问题.IE显然是最新的,但这当然只适用于最新版本.

结果是如果你想使用XSLT,你必须在所有主流浏览器中测试它并解决这些问题,尽管这项技术至少从2006年开始就已存在.它绝不是弃用的,它只是不是很受欢迎,因为它不像JSON + jQuery模板那样紧凑或易于阅读.