2

我正在使用 AspDotNetStorefront(这就是我必须使用 xsl 的原因),我的客户希望能够对某个类别的产品进行排序。我决定使用 tablesorter 并使用 jsrender 来渲染模板。

除了创建一个特殊链接之外,我可以做任何事情,因为 xsl 正在为 jsrender 模板剥离我的花括号之一。

因此,我有一个带有 productImage 的对象,例如 /images/blah.jpg,并且以下内容可以正常工作。

<td>{{:productImage}}</td>

太好了-所以我尝试输入一个链接:

<td><a href='{{:productImage}}'>See the image</a></td>

xsl 将我的模板输出为:

<td><a href='{:productImage}'>See the image</a></td>

所以它没有被正确渲染。在过去的几个小时里,我尝试了各种想法,但无法让它正常工作。如何防止 XSL 打断我的花括号?

4

1 回答 1

5

XSLT在您{}. 规范说:

a double left or right curly brace outside an expression will be replaced by a single curly brace.

话虽如此,将花括号的数量加倍似乎可以解决问题。以下节点放入 XSLT:

<something a="{{{{a}}}}"/>

产生以下结果树:

<something a="{{a}}"/>

更新:XSLT 2.0 规范对 double{{属性值模板部分有更多}}的说明。

于 2012-04-27T20:36:20.203 回答