<!-- The HTML Table DTD --><!-- Content model entities imported from parent DTD: %body.content; allows table cells to contain headers, paras, lists, form elements and even arbitrarily nested tables. %text; is text characters, including character entities and character emphasis elements, IMG and anchors--><!ENTITY % attrs "id ID #IMPLIED -- element identifier -- class NAMES #IMPLIED -- used with style sheets -- lang NAME #IMPLIED -- as per RFC 1766 --"><!-- The BORDER attribute sets the thickness of the frame around the table. The default units are screen pixels. The FRAME attribute specifies which parts of the frame around the table should be rendered. none no frame top render only the top part of the frame bottom render only the bottom part of the frame topbot render both top and bottom parts sides render both left and right parts all render all four parts border render all four parts The value "border" is chosen for backwards compatibility with <TABLE BORDER> which yields frame=border and border=implied For <TABLE BORDER=1> you get border=1 and frame=implied. In this case, its appropriate to treat this as frame=border for backwards compatibility with deployed browsers. The RULES attribute defines which rules to draw between cells: none no rules between cells basic rule between thead/tbody and tbody/tbody rows as per basic plus row separators cols as per basic plus column group separators all between all rows and all columns If RULES is absent then assume: "none" if BORDER is absent or BORDER=0 otherwise "all"--><!ENTITY % Frame "(none|top|bottom|topbot|sides|all|border)"><!ENTITY % Rules "(none | basic | rows | cols | all)"><!-- horizontal alignment attributes for cell contents --><!ENTITY % cell.halign "align (left|center|right|justify|char) #IMPLIED char CDATA #IMPLIED -- alignment char, e.g. char=':' -- charoff NUTOKEN 50 -- % offset for alignment char --" ><!-- vertical alignment attributes for cell contents --><!ENTITY % cell.valign "valign (top|middle|bottom|baseline) #IMPLIED" ><!-- Inheritance order for ALIGN, VALIGN and LANG properties: ALIGN (TH|TD) < COL < TR < (THEAD|TBODY) VALIGN (TH|TD) < TR < (THEAD|TBODY) < COL LANG (TH|TD) < TR < (THEAD|TBODY) < COL < TABLE--><!ELEMENT table - - (caption?, col*, thead?, tbody+)><!ELEMENT table - - (caption?, col*, thead?, tfoot?, tbody+)><!ELEMENT caption - - (%text;)+><!ELEMENT thead - O (tr+)><!ELEMENT tfoot - O (tr+)><!ELEMENT tbody O O (tr+)><!ELEMENT col - O EMPTY><!ELEMENT tr - O (th|td)+><!ELEMENT (th|td) - O %body.content><!-- NAME is used for rules to avoid SGML name clash with %Frame --><!ATTLIST table -- table element -- %attrs; -- id, lang, class -- float (left|right) #IMPLIED -- relative to window -- width CDATA #IMPLIED -- table width relative to window -- cols NUMBER #IMPLIED -- used for immediate display mode -- border CDATA #IMPLIED -- controls frame width around table -- frame %Frame; #IMPLIED -- which parts of table frame to include -- rules NAME #IMPLIED -- %Rules; controls rules between cells -- cellspacing NUMBER #IMPLIED -- spacing between cells -- cellpadding NUMBER #IMPLIED -- spacing within cells -- ><!-- ALIGN is used here for compatibility with deployed browsers --><!ENTITY % Caption "(top|bottom|left|right)"><!ATTLIST caption -- table caption -- %attrs; -- id, lang, class -- align %Caption; #IMPLIED -- relative to table -- ><!-- COL elements define groups of columns and the alignment properties of their cells. The WIDTH attribute specifies the width of the columns, e.g. width=64 width in "pixels", see earlier note on units width=0.5* relative width of 0.5 (default is 1.0) Percentage widths are inappropriate as you would need to check that the numbers add up, and they would all have to be changed if a column was inserted or removed. The "*" suffix is used to simplify importing tables from the CALS representation.--><!ATTLIST col -- column groups and properties -- %attrs; -- id, lang, class -- span NUMBER 1 -- number of columns spanned by group -- width CDATA #IMPLIED -- relative width e.g. 2.5 -- %cell.halign; -- horizontal alignment in cells -- %cell.valign; -- vertical alignment in cells -- ><!-- Use THEAD to duplicate headers when breaking table across page boundaries, or for static headers when body sections are rendered in scrolling panel. Use TFOOT to duplicate footers when breaking table across page boundaries, or for static footers when body sections are rendered in scrolling panel. Use multiple TBODY sections when rules are needed between groups of table rows.--><!ATTLIST (thead|tbody) -- table section --<!ATTLIST (thead|tbody|tfoot) -- table section -- %attrs; -- id, lang, class -- %cell.halign; -- horizontal alignment in cells -- %cell.valign; -- vertical alignment in cells -- ><!ATTLIST tr -- table row -- %attrs; -- id, lang, class -- %cell.halign; -- horizontal alignment in cells -- %cell.valign; -- vertical alignment in cells -- ><!ATTLIST (th|td) -- header or data cell -- %attrs; -- id, lang, class -- axis CDATA #IMPLIED -- defaults to cell content -- axes CDATA #IMPLIED -- list of axis names -- nowrap (nowrap) #IMPLIED -- suppress word wrap -- rowspan NUMBER 1 -- number of rows spanned by cell -- colspan NUMBER 1 -- number of cols spanned by cell -- %cell.halign; -- horizontal alignment in cells -- %cell.valign; -- vertical alignment in cells -- >