Xslate のエスケープポリシーについて考えたので、ここでまとめておく*1。 Xslate のエスケープ処理について、覚えることは以下の三つである*2。 テンプテートタグ内で生成した値は自動的にエスケープされる エスケープ処理をさせたくないときはmark_raw フィルタを使う エスケープ処理を強制させたいときは unmark_rawフィルタを使う 以下、詳しく解説する。 まず、基本的には Text::MicroTemplate のポリシーを踏襲している*3。すなわち、テンプレートタグ内で生成された文字列については、HTMLのメタ文字(< > & " &apos)が自動的にエスケープされる。エスケープ処理は、一般式に対する出力コマンドが担っている。 # Text::Xslate version 0.1032 $ xslate -e '<foo>' # 地の文字列はそのまま出力 <foo>