【问题标题】:XSL keeps stipping my Curly Braces for jsRenderXSL 一直在为 jsRender 停止我的花括号
【发布时间】:2012-04-27 20:27:33
【问题描述】:

我正在使用 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 打断我的花括号?

【问题讨论】:

    标签: xslt jsrender aspdotnetstorefront


    【解决方案1】:

    XSLT 在您的{} 中看到attribute value template。规范说:

    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 规范在attribute value templates 部分中对双{{}} 有更多说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 2012-01-18
      • 1970-01-01
      • 2021-10-21
      • 2021-09-15
      • 2018-05-02
      • 1970-01-01
      相关资源
      最近更新 更多