<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Text.XHtml.Table</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Text-XHtml-Table.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >xhtml-3000.2.0.1: An XHTML combinator library</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Text.XHtml.Table</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >Table combinators for XHTML. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AHtmlTable" >HtmlTable</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AHTMLTABLE" >HTMLTABLE</A > ht <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3Acell" >cell</A > :: ht -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3C%2F%3E" >(</>)</A > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aabove" >above</A > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3C-%3E" >(<->)</A > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Abeside" >beside</A > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aaboves" >aboves</A > :: <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht => [ht] -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Abesides" >besides</A > :: <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht => [ht] -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsimpleTable" >simpleTable</A > :: [<A HREF="Text-XHtml-Transitional.html#t%3AHtmlAttr" >HtmlAttr</A >] -> [<A HREF="Text-XHtml-Transitional.html#t%3AHtmlAttr" >HtmlAttr</A >] -> [[<A HREF="Text-XHtml-Transitional.html#t%3AHtml" >Html</A >]] -> <A HREF="Text-XHtml-Transitional.html#t%3AHtml" >Html</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:HtmlTable" ><A NAME="t%3AHtmlTable" ></A ></A ><B >HtmlTable</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >We internally represent the Cell inside a Table with an object of the type </P ><PRE > Int -> Int -> Html </PRE ><P >When we render it later, we find out how many columns or rows this cell will span over, and can include the correct colspan/rowspan command. </P ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HtmlTable')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:HtmlTable" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Text-XHtml-Transitional.html#t%3AHTML" >HTML</A > <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:HTMLTABLE" ><A NAME="t%3AHTMLTABLE" ></A ></A ><B >HTMLTABLE</B > ht <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:cell" ><A NAME="v%3Acell" ></A ></A ><B >cell</B > :: ht -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HTMLTABLE')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:HTMLTABLE" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > <A HREF="Text-XHtml-Transitional.html#t%3AHtml" >Html</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:</>" ><A NAME="v%3A%3C%2F%3E" ></A ></A ><B >(</>)</B > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:above" ><A NAME="v%3Aabove" ></A ></A ><B >above</B > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:<->" ><A NAME="v%3A%3C-%3E" ></A ></A ><B >(<->)</B > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:beside" ><A NAME="v%3Abeside" ></A ></A ><B >beside</B > :: (<A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht1, <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht2) => ht1 -> ht2 -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:aboves" ><A NAME="v%3Aaboves" ></A ></A ><B >aboves</B > :: <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht => [ht] -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:besides" ><A NAME="v%3Abesides" ></A ></A ><B >besides</B > :: <A HREF="Text-XHtml-Table.html#t%3AHTMLTABLE" >HTMLTABLE</A > ht => [ht] -> <A HREF="Text-XHtml-Table.html#t%3AHtmlTable" >HtmlTable</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:simpleTable" ><A NAME="v%3AsimpleTable" ></A ></A ><B >simpleTable</B > :: [<A HREF="Text-XHtml-Transitional.html#t%3AHtmlAttr" >HtmlAttr</A >] -> [<A HREF="Text-XHtml-Transitional.html#t%3AHtmlAttr" >HtmlAttr</A >] -> [[<A HREF="Text-XHtml-Transitional.html#t%3AHtml" >Html</A >]] -> <A HREF="Text-XHtml-Transitional.html#t%3AHtml" >Html</A ></TD ></TR ><TR ><TD CLASS="doc" ><P >If you can't be bothered with the above, then you can build simple tables with simpleTable. Just provide the attributes for the whole table, attributes for the cells (same for every cell), and a list of lists of cell contents, and this function will build the table for you. It does presume that all the lists are non-empty, and there is at least one list. </P ><P >Different length lists means that the last cell gets padded. If you want more power, then use the system above, or build tables explicitly. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.4.2</TD ></TR ></TABLE ></BODY ></HTML >