以下のテンプレートファイルを使用して出力。
base.html
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org/" py:strip=""> <py:match path="head" once="true"> <head> <title>base</title> </head> </py:match> <py:match path="body" once="true"> <body class="index"> <div id="header"> <h1>base</h1> </div> <p>Welcome!</p> <div id="footer"> <hr /> <p class="legalese">c 2007 Edgewall Software</p> </div> </body> </py:match> </html>
genshi.html
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org" xmlns:xi="http://www.w3.org/2001/XInclude"> <xi:include href="base.html" /> <head> <title>$title</title> </head> <body class="index"> <div id="header"> <h1>$title</h1> </div> <p>Welcome!</p> <div id="footer"> <hr /> <p class="legalese">c 2007 Edgewall Software</p> </div> </body> </html>
chameleon.genshiを使用して出力した結果は以下のようになる。
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://genshi.edgewall.org"> <div id="footer"> <hr> <p class="legalese">c 2007 Edgewall Software</p> </div> <p>Welcome!</p> <div id="header"> <h1>base</h1> </div> </html>
genshiでの出力はgenshi.htmlの内容がbase.htmlで上書きされるので大幅に出力結果が違う。
<head>の中身がなくなっている。<body>タグがなくなっている。<body>タグの中身の順番が逆になっている。
速度は速いけど現時点で実用するのは無理。
genshi以外のテンプレートとくにZPTは使えるかもしれないが試していない。
0 件のコメント:
コメントを投稿