レシピ datagrid

ようするにテーブルにデータを出します。
テンプレートHTMLはこんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  </head>
  <body>
    <h1>Address Book</h1>
    <div id="main">
      <table>
	<thead>
	  <tr>
	    <th>Name</th>
	    <th>MailAddress</th>
	  </tr>
	</thead>
	<tbody>
	  <tr class="person">
	    <td class="person-name">person name is here</td>
	    <td class="person-mailaddress">person mail address is here</td>
	  </tr>
	</tbody>
      </table>
    </div>
  </body>
</html>

データをプッシュするPythonコード

import os
from flexable import Template

t = Template()
t.fromfile(os.path.join(os.path.dirname(__file__), "datagrid.html"))
value = dict(person=[{"person-name":"name%d" % i,
                      "person-mailaddress":"name%d@example.com" % i}
                     for i in xrange(10)])
t.merge(value)
print str(t)

valueの中身はこうなる

{'person': 
[{'person-name': 'name0', 'person-mailaddress': 'name0@example.com'}, 
{'person-name': 'name1', 'person-mailaddress': 'name1@example.com'}, 
{'person-name': 'name2', 'person-mailaddress': 'name2@example.com'}, 
{'person-name': 'name3', 'person-mailaddress': 'name3@example.com'}, 
{'person-name': 'name4', 'person-mailaddress': 'name4@example.com'}, 
{'person-name': 'name5', 'person-mailaddress': 'name5@example.com'}, 
{'person-name': 'name6', 'person-mailaddress': 'name6@example.com'}, 
{'person-name': 'name7', 'person-mailaddress': 'name7@example.com'}, 
{'person-name': 'name8', 'person-mailaddress': 'name8@example.com'}, 
{'person-name': 'name9', 'person-mailaddress': 'name9@example.com'}]}

できあがったもの

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  </head>
  <body>
    <h1>Address Book</h1>
    <div id="main">
      <table>
        <thead>
          <tr>
            <th>Name</th>
            <th>MailAddress</th>
          </tr>
        </thead>
        <tbody>
          <ns0:tr xmlns:ns0="http://www.w3.org/1999/xhtml" class="person">
            <ns0:td xmlns:ns1="http://www.w3.org/1999/xhtml" class="person-name">name0</ns0:td>
            <ns0:td xmlns:ns2="http://www.w3.org/1999/xhtml" class="person-mailaddress">name0@example.com</ns0:td>
          </ns0:tr>
        <ns3:tr xmlns:ns3="http://www.w3.org/1999/xhtml" class="person">
            <ns3:td xmlns:ns4="http://www.w3.org/1999/xhtml" class="person-name">name1</ns3:td>
            <ns3:td xmlns:ns5="http://www.w3.org/1999/xhtml" class="person-mailaddress">name1@example.com</ns3:td>
          </ns3:tr>
        <ns6:tr xmlns:ns6="http://www.w3.org/1999/xhtml" class="person">
            <ns6:td xmlns:ns7="http://www.w3.org/1999/xhtml" class="person-name">name2</ns6:td>
            <ns6:td xmlns:ns8="http://www.w3.org/1999/xhtml" class="person-mailaddress">name2@example.com</ns6:td>
          </ns6:tr>
        <ns9:tr xmlns:ns9="http://www.w3.org/1999/xhtml" class="person">
            <ns9:td xmlns:ns10="http://www.w3.org/1999/xhtml" class="person-name">name3</ns9:td>
            <ns9:td xmlns:ns11="http://www.w3.org/1999/xhtml" class="person-mailaddress">name3@example.com</ns9:td>
          </ns9:tr>
        <ns12:tr xmlns:ns12="http://www.w3.org/1999/xhtml" class="person">
            <ns12:td xmlns:ns13="http://www.w3.org/1999/xhtml" class="person-name">name4</ns12:td>
            <ns12:td xmlns:ns14="http://www.w3.org/1999/xhtml" class="person-mailaddress">name4@example.com</ns12:td>
          </ns12:tr>
        <ns15:tr xmlns:ns15="http://www.w3.org/1999/xhtml" class="person">
            <ns15:td xmlns:ns16="http://www.w3.org/1999/xhtml" class="person-name">name5</ns15:td>
            <ns15:td xmlns:ns17="http://www.w3.org/1999/xhtml" class="person-mailaddress">name5@example.com</ns15:td>
          </ns15:tr>
        <ns18:tr xmlns:ns18="http://www.w3.org/1999/xhtml" class="person">
            <ns18:td xmlns:ns19="http://www.w3.org/1999/xhtml" class="person-name">name6</ns18:td>
            <ns18:td xmlns:ns20="http://www.w3.org/1999/xhtml" class="person-mailaddress">name6@example.com</ns18:td>
          </ns18:tr>
        <ns21:tr xmlns:ns21="http://www.w3.org/1999/xhtml" class="person">
            <ns21:td xmlns:ns22="http://www.w3.org/1999/xhtml" class="person-name">name7</ns21:td>
            <ns21:td xmlns:ns23="http://www.w3.org/1999/xhtml" class="person-mailaddress">name7@example.com</ns21:td>
          </ns21:tr>
        <ns24:tr xmlns:ns24="http://www.w3.org/1999/xhtml" class="person">
            <ns24:td xmlns:ns25="http://www.w3.org/1999/xhtml" class="person-name">name8</ns24:td>
            <ns24:td xmlns:ns26="http://www.w3.org/1999/xhtml" class="person-mailaddress">name8@example.com</ns24:td>
          </ns24:tr>
        <ns27:tr xmlns:ns27="http://www.w3.org/1999/xhtml" class="person">
            <ns27:td xmlns:ns28="http://www.w3.org/1999/xhtml" class="person-name">name9</ns27:td>
            <ns27:td xmlns:ns29="http://www.w3.org/1999/xhtml" class="person-mailaddress">name9@example.com</ns27:td>
          </ns27:tr>
        </tbody>
      </table>
    </div>
  </body>
</html>

うーん行ごとにプリフィックスがついてしまうな。
エレメントをコピーする方法がまずいのかなぁ。