<div dir="ltr">Hmm... &nbsp;an untested suggestion...<div><br class="webkit-block-placeholder"></div><div><div class="gmail_quote"><div>&lt;table&gt;</div><div>$cells:{ row | &lt;tr&gt;$row:{ cell | &lt;td&gt;$cell$&lt;/td&gt;}$&lt;/tr&gt;}$&nbsp;</div>
</div>&lt;/table&gt;</div><div><br class="webkit-block-placeholder"></div><div>(i.e. nested iteration)</div><div><br class="webkit-block-placeholder"></div><div>or to encompass the table call inside,&nbsp;</div><div><div class="gmail_quote">
<div>$cells:{ row | &lt;tr&gt;$row:{ cell | &lt;td&gt;$cell$&lt;/td&gt;}$&lt;/tr&gt;}:{&lt;table&gt;$it$&lt;/table&gt;}$&nbsp;</div><div><br class="webkit-block-placeholder"></div></div></div><div>Regards,</div><div>Sterl.</div>
<div><br class="webkit-block-placeholder"></div><div><div class="gmail_quote">On Thu, Sep 18, 2008 at 8:16 AM, Thomas Hartman <span dir="ltr">&lt;<a href="mailto:thomashartman1@googlemail.com">thomashartman1@googlemail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I am trying to use HStringTemplate for generating html tables, for use<br>
in <a href="http://happstutorial.com:5001" target="_blank">http://happstutorial.com:5001</a><br>
<br>
The best I could do is below. Seems awfully kludgy.<br>
<br>
Can someone suggest a better way, which keeps me inside the<br>
StringTemplate way of doing things? (Eg, no suggestions to use HTML.*<br>
libraries, which are nice for some things but are a higher barrier to<br>
entry than just jumping in and writing html.)<br>
<br>
Some kind of map structure... for each... ?<br>
<br>
Thanks for any help!<br>
<br>
thomas.<br>
<br>
{-# LANGUAGE NoMonomorphismRestriction #-}<br>
import Text.StringTemplate<br>
import Control.Applicative<br>
import qualified Text.PrettyPrint as PP<br>
<br>
main = putStrLn . PP.render . toPPDoc $ tableFromCells cells<br>
cells = [[&quot;mee&quot;,&quot;mah&quot;,&quot;moh&quot;],[&quot;fee&quot;,&quot;fah&quot;,&quot;foh&quot;]]<br>
<br>
-- This does generate an html table, but seems horribly obfuscated.<br>
-- is there machinery for doing things like html table generation<br>
-- in some better way than this hack where &lt;/end&gt;&lt;start&gt;<br>
-- tags are used as a separator?<br>
-- I would imagine something like<br>
-- newSTMP &quot;$cells:{&lt;td&gt;$it$&lt;/td&gt;}:{&lt;tr&gt;$it&lt;/tr&gt;}:{&lt;table&gt;$it&lt;/table&gt;}&quot;<br>
-- which works a bit like a list comprehension<br>
tableFromCells cells = setAttribute &quot;cells&quot; cells . optInsertTmpl<br>
[(&quot;separator&quot;,&quot;&lt;/td&gt;&lt;td&gt;&quot;)]<br>
 &nbsp;$ newSTMP &quot;$cells:\<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\{&lt;tr&gt;&lt;td&gt;$it$&lt;/td&gt;&lt;/tr&gt;}:\<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\{&lt;table&gt;$it$&lt;/table&gt;}$&quot;</blockquote><div><br></div></div></div></div>