次のTALのテンプレートを使用しています。
<iframe tal:attributes="src view/src" />
ここで、view.srcは、アンパサンドを含むクエリ文字列を含むURLを返します。
テンプレートはこれをうまくレンダリングしますが、Diazoを通過した後、アンパサンドは&amp;としてエスケープされます。
Diazoがこれを行うのを防ぐにはどうすればよいですか?
テンプレートが無効なHTMLを返しています-CDATAスクリプトとスタイルタグの外では、アンパサンドはエンティティとしてエンコードする必要があります(http://htmlhelp.com/tools/validator/problems.html#amp)。HTMLParserはあなたが何を意味するかを推測できますが、シリアライザーは途中でデータを正しくエンコードし、それを回避する方法はありません。
例を挙げると、これはデータの単なるHTMLエンコーディングであることに注意してください。
<iframe src="http://example.com?foo=1&baz=2" />
iframeのsrc属性の値はhttp://example.com?foo=1&baz=2
です。