Habs selbst hinbekommen, ist nicht ganz so einfach, ein so großes Array aufzubauen und es würde einfach gehen, wenn man etwas wie Foreach hätte, aber sonst sind die vlib-Klassen einfach super.
Für die Interessierten:
$table = array(
    array (
      table_id => test,
      table_class => test,
      table_summary => testing around,
      table_caption => töööö&st,
      table_head => array (
        array (
          row => array(
            array (cell => zelle1),
            array (cell => zelle1),
          ),
        ),
        array (
          row => array(
            array (cell => zelle3),
            array (cell => zelle4),
          ),
        ),
      )
    )
  );
<TMPL_LOOP name=table>
<table<TMPL_IF name=table_id> id="<TMPL_VAR name=table_id>"</TMPL_IF><TMPL_IF name=table_class> class="<TMPL_VAR name=table_class>"</TMPL_IF><TMPL_IF name=table_border> border="<TMPL_VAR name=table_border>"</TMPL_IF><TMPL_IF name=table_spacing> cellspacing="<TMPL_VAR name=table_spacing>"</TMPL_IF><TMPL_IF name=table_padding> cellpadding="<TMPL_VAR name=table_padding>"</TMPL_IF><TMPL_IF name=table_summary> summary="<TMPL_VAR name=table_summary>"</TMPL_IF>>
<TMPL_IF name=table_caption>  <caption><TMPL_VAR name=table_caption></caption>
</TMPL_IF>
<TMPL_IF name=table_head>
  <thead>
<TMPL_LOOP name=table_head>
    <tr>
<TMPL_LOOP name=row>
      <td><TMPL_VAR name=cell></td>
</TMPL_LOOP>
    </tr>
</TMPL_LOOP>
  </thead>
</TMPL_IF>
<TMPL_IF name=table_foot>
  <tfoot>
    <tr>
      <td></td>
    </tr>
  </tfoot>
</TMPL_IF>
  <tbody>
    <tr>
      <td></td>
    </tr>
  </tbody>
</table>
</TMPL_LOOP>