def template
@template ||= @eruby.new <<-EOF
<%#encoding:UTF-8%><%
if @style == 'horizontal'
%><<%= (tag = title? ? 'table' : 'informaltable') %>#{common_attrs_erb} tabstyle="horizontal" frame="none" colsep="0" rowsep="0">#{title_tag}
<tgroup cols="2">
<colspec colwidth="<%= attr :labelwidth, 15 %>*"/>
<colspec colwidth="<%= attr :labelwidth, 85 %>*"/>
<tbody valign="top"><%
items.each do |terms, dd| %>
<row>
<entry><%
[*terms].each do |dt| %>
<simpara><%= dt.text %></simpara><%
end %>
</entry>
<entry><%
unless dd.nil?
if dd.text? %>
<simpara><%= dd.text %></simpara><%
end
if dd.blocks? %>
<%= dd.content %><%
end
end %>
</entry>
</row><%
end %>
</tbody>
</tgroup>
</<%= tag %>><%
else
tags = (template.class::LIST_TAGS[@style] || template.class::LIST_TAGS['labeled'])
if tags[:list]
%><<%= tags[:list] %>#{common_attrs_erb}>#{title_tag}<%
end
items.each do |terms, dd| %>
<<%= tags[:entry] %>><%
if tags.has_key? :label %>
<<%= tags[:label] %>><%
end
[*terms].each do |dt| %>
<<%= tags[:term] %>><%= dt.text %></<%= tags[:term] %>><%
end
if tags.has_key? :label %>
</<%= tags[:label] %>><%
end %>
<<%= tags[:item] %>><%
unless dd.nil?
if dd.text? %>
<simpara><%= dd.text %></simpara><%
end
if dd.blocks? %>
<%= dd.content %><%
end
end %>
</<%= tags[:item] %>>
</<%= tags[:entry] %>><%
end
if tags[:list] %>
</<%= tags[:list] %>><%
end
end %>
EOF
end