是否有类似XSLT的JavaScript模板系统?

时间:2010-08-04 08:27:38

标签: javascript templates xslt dynamic

我有一大块深度嵌套的半结构化JSON,并希望从中生成HTML。目前我正在使用jQote2,但我的模板中的大部分代码都处理动态查找要呈现的下一个模板然后调用它。 XSLT中的单个<xsl:apply-templates>需要多行JavaScript和jQuote。我非常想念XSLT的模式匹配功能。 JavaScript中是否有任何(模板)库允许我根据数据动态决定要渲染哪个模板?

这是我想要的一个例子。假设我有一个像这样的JSON结构:

{
  items:[
   {foo:1, bar:2},
   {foo:7, baz:99},
   {foo:8, quux:3}
  ],
  curdate:'2010-07-07'
}

我想要一个“根”模板,它渲染curdate字段,然后渲染项目。如果项目包含“bar”字段,我希望使用名为“tpl-bar”(或类似名称)的模板呈现项目,否则应使用名为“tpl-foo”的模板。过滤功能(例如“不渲染具有quux字段的项目”)将是一个很好的选择。

我知道JSONT库,但是从我看来它不足以完成我所描述的内容。

如果没有这样的图书馆,我自己就试着给它一个镜头。但我现在还不确定该怎么做。代码示例或一般描述对我有帮助。

1 个答案:

答案 0 :(得分:2)

还有JSLT,从我记忆中读到它比JSONT更先进。不过,我从来没有真正使用它。问题是这些库并不是很受欢迎,因此不需要做很多工作来改进它们并在它们的基础上进行构建。

从好的方面来看,它是开源的,所以如果你找不到你想要的功能,你可以尝试自己添加它。