我需要一个与我的应用程序捆绑的
HTML页面的模板机制.起初我看了所有的
JavaScript模板解决方案(如jQuery模板),但由于我的输入数据是XML,所以我突然想起了XSLT.我遇到了几十个libaries,但似乎没有使用XSLT,所以我完全忘记了它的存在,创建模板是多么有用.
那么,XSLT是否慢慢被淘汰,并被javascript替代品淘汰?我读到某处XSLT对于大多数用户来说太复杂了,但它是唯一的缺点还是有更多的缺点?
更新:我自己只能想到一个缺点:使用XSLT,在向用户显示任何内容之前,必须对完整的页面进行解析/渲染,并且使用javascript页面已经可见,并且之后填写了缺少的元素.
解决方法
XSLT是模板化的好方法.语言和语法有点不寻常 – “选择/何时”而不是“案例/切换”是一个明显的例子 – 但它做得很好.
XSLT的主要优点是您不需要JavaScript来使用它;构建它是正确的,每个主要浏览器将呈现为HTML,无论JS是否启用.这可能比JavaScript解决方案在处理器上更容易,尽管我不知道谁测试了这一点.如果你已经在处理XML数据,这也是一个明显的选择.
不利的是,它是一种相对较老的技术,已被大部分放弃,而浏览器仍然支持它,他们没有向前推进. Firefox有一个HTML转义的问题,他们有no intention of fixing,而Chrome已经有a pretty major problem with @includes. IE显然是最新的,但这当然只适用于最新版本.
结果是,如果你想使用XSLT,你必须在所有的主要浏览器中测试它,并解决这些错误,尽管该技术至少在2006年以来一直存在.它绝对不被弃用,只是不是很受欢迎,因为它不像JSON jQuery模板那样紧凑或容易阅读.