XSL продолжает обрезать мои фигурные скобки для jsRender

Я использую 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 не обрезал мои фигурные скобки?


person ajwaka    schedule 27.04.2012    source источник


Ответы (1)


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 есть немного больше информации о двойных {{ и }} в шаблоны значений атрибутов.

person Pavel Veller    schedule 27.04.2012