2

AspDotNetStorefrontを使用しています(これがxslを使用する必要がある理由です)。クライアントは、カテゴリ内の製品を並べ替えることができるようにしたいと考えています。tablesorterを使用し、jsrenderを使用してテンプレートをレンダリングすることにしました。

xslがjsrenderテンプレート用の中括弧の1つを削除しているため、特別なリンクを作成する以外はすべて実行できます。

だから私は/images/blah.jpgのようなproductImageのあるオブジェクトを持っていて、以下は正しく動作します。

<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.

そうは言っても、中括弧の量を2倍にすることでうまくいくようです。XSLTに配置された次のノード:

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

次の結果ツリーを生成します。

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

更新{{:XSLT 2.0仕様には、doubleと属性値テンプレートのセクションについてもう少し説明}}があります。

于 2012-04-27T20:36:20.203 に答える