blob: 3fc03608f1db60b234d90d81647ffd061b090c80 [file] [log] [blame]
<!-- ...................................................................... -->
<!-- XHTML Table Module .................................................. -->
<!-- file: xhtml-table-1.mod
This is XHTML, a reformulation of HTML as a modular XML application.
Copyright 1998-2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.
Revision: $Id: xhtml-table-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI
This DTD module is identified by the PUBLIC and SYSTEM identifiers:
PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN"
SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-table-1.mod"
Revisions:
(none)
....................................................................... -->
<!-- Tables
table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
This module declares element types and attributes used to provide
table markup similar to HTML 4, including features that enable
better accessibility for non-visual user agents.
-->
<!-- declare qualified element type names:
-->
<!ENTITY % table.qname "table" >
<!ENTITY % caption.qname "caption" >
<!ENTITY % thead.qname "thead" >
<!ENTITY % tfoot.qname "tfoot" >
<!ENTITY % tbody.qname "tbody" >
<!ENTITY % colgroup.qname "colgroup" >
<!ENTITY % col.qname "col" >
<!ENTITY % tr.qname "tr" >
<!ENTITY % th.qname "th" >
<!ENTITY % td.qname "td" >
<!-- The frame attribute specifies which parts of the frame around
the table should be rendered. The values are not the same as
CALS to avoid a name clash with the valign attribute.
-->
<!ENTITY % frame.attrib
"frame ( void
| above
| below
| hsides
| lhs
| rhs
| vsides
| box
| border ) #IMPLIED"
>
<!-- The rules attribute defines which rules to draw between cells:
If rules is absent then assume:
"none" if border is absent or border="0" otherwise "all"
-->
<!ENTITY % rules.attrib
"rules ( none
| groups
| rows
| cols
| all ) #IMPLIED"
>
<!-- horizontal alignment attributes for cell contents
-->
<!ENTITY % CellHAlign.attrib
"align ( left
| center
| right
| justify
| char ) #IMPLIED
char %Character.datatype; #IMPLIED
charoff %Length.datatype; #IMPLIED"
>
<!-- vertical alignment attribute for cell contents
-->
<!ENTITY % CellVAlign.attrib
"valign ( top
| middle
| bottom
| baseline ) #IMPLIED"
>
<!-- scope is simpler than axes attribute for common tables
-->
<!ENTITY % scope.attrib
"scope ( row
| col
| rowgroup
| colgroup ) #IMPLIED"
>
<!-- table: Table Element .............................. -->
<!ENTITY % table.element "INCLUDE" >
<![%table.element;[
<!ENTITY % table.content
"( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ),
(( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))"
>
<!ELEMENT %table.qname; %table.content; >
<!-- end of table.element -->]]>
<!ENTITY % table.attlist "INCLUDE" >
<![%table.attlist;[
<!ATTLIST %table.qname;
%Common.attrib;
summary %Text.datatype; #IMPLIED
width %Length.datatype; #IMPLIED
border %Pixels.datatype; #IMPLIED
%frame.attrib;
%rules.attrib;
cellspacing %Length.datatype; #IMPLIED
cellpadding %Length.datatype; #IMPLIED
>
<!-- end of table.attlist -->]]>
<!-- caption: Table Caption ............................ -->
<!ENTITY % caption.element "INCLUDE" >
<![%caption.element;[
<!ENTITY % caption.content
"( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT %caption.qname; %caption.content; >
<!-- end of caption.element -->]]>
<!ENTITY % caption.attlist "INCLUDE" >
<![%caption.attlist;[
<!ATTLIST %caption.qname;
%Common.attrib;
>
<!-- end of caption.attlist -->]]>
<!-- thead: Table Header ............................... -->
<!-- Use thead to duplicate headers when breaking table
across page boundaries, or for static headers when
tbody sections are rendered in scrolling panel.
-->
<!ENTITY % thead.element "INCLUDE" >
<![%thead.element;[
<!ENTITY % thead.content "( %tr.qname; )+" >
<!ELEMENT %thead.qname; %thead.content; >
<!-- end of thead.element -->]]>
<!ENTITY % thead.attlist "INCLUDE" >
<![%thead.attlist;[
<!ATTLIST %thead.qname;
%Common.attrib;
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of thead.attlist -->]]>
<!-- tfoot: Table Footer ............................... -->
<!-- Use tfoot to duplicate footers when breaking table
across page boundaries, or for static footers when
tbody sections are rendered in scrolling panel.
-->
<!ENTITY % tfoot.element "INCLUDE" >
<![%tfoot.element;[
<!ENTITY % tfoot.content "( %tr.qname; )+" >
<!ELEMENT %tfoot.qname; %tfoot.content; >
<!-- end of tfoot.element -->]]>
<!ENTITY % tfoot.attlist "INCLUDE" >
<![%tfoot.attlist;[
<!ATTLIST %tfoot.qname;
%Common.attrib;
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of tfoot.attlist -->]]>
<!-- tbody: Table Body ................................. -->
<!-- Use multiple tbody sections when rules are needed
between groups of table rows.
-->
<!ENTITY % tbody.element "INCLUDE" >
<![%tbody.element;[
<!ENTITY % tbody.content "( %tr.qname; )+" >
<!ELEMENT %tbody.qname; %tbody.content; >
<!-- end of tbody.element -->]]>
<!ENTITY % tbody.attlist "INCLUDE" >
<![%tbody.attlist;[
<!ATTLIST %tbody.qname;
%Common.attrib;
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of tbody.attlist -->]]>
<!-- colgroup: Table Column Group ...................... -->
<!-- colgroup groups a set of col elements. It allows you
to group several semantically-related columns together.
-->
<!ENTITY % colgroup.element "INCLUDE" >
<![%colgroup.element;[
<!ENTITY % colgroup.content "( %col.qname; )*" >
<!ELEMENT %colgroup.qname; %colgroup.content; >
<!-- end of colgroup.element -->]]>
<!ENTITY % colgroup.attlist "INCLUDE" >
<![%colgroup.attlist;[
<!ATTLIST %colgroup.qname;
%Common.attrib;
span %Number.datatype; '1'
width %MultiLength.datatype; #IMPLIED
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of colgroup.attlist -->]]>
<!-- col: Table Column ................................. -->
<!-- col elements define the alignment properties for
cells in one or more columns.
The width attribute specifies the width of the
columns, e.g.
width="64" width in screen pixels
width="0.5*" relative width of 0.5
The span attribute causes the attributes of one
col element to apply to more than one column.
-->
<!ENTITY % col.element "INCLUDE" >
<![%col.element;[
<!ENTITY % col.content "EMPTY" >
<!ELEMENT %col.qname; %col.content; >
<!-- end of col.element -->]]>
<!ENTITY % col.attlist "INCLUDE" >
<![%col.attlist;[
<!ATTLIST %col.qname;
%Common.attrib;
span %Number.datatype; '1'
width %MultiLength.datatype; #IMPLIED
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of col.attlist -->]]>
<!-- tr: Table Row ..................................... -->
<!ENTITY % tr.element "INCLUDE" >
<![%tr.element;[
<!ENTITY % tr.content "( %th.qname; | %td.qname; )+" >
<!ELEMENT %tr.qname; %tr.content; >
<!-- end of tr.element -->]]>
<!ENTITY % tr.attlist "INCLUDE" >
<![%tr.attlist;[
<!ATTLIST %tr.qname;
%Common.attrib;
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of tr.attlist -->]]>
<!-- th: Table Header Cell ............................. -->
<!-- th is for header cells, td for data,
but for cells acting as both use td
-->
<!ENTITY % th.element "INCLUDE" >
<![%th.element;[
<!ENTITY % th.content
"( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %th.qname; %th.content; >
<!-- end of th.element -->]]>
<!ENTITY % th.attlist "INCLUDE" >
<![%th.attlist;[
<!ATTLIST %th.qname;
%Common.attrib;
abbr %Text.datatype; #IMPLIED
axis CDATA #IMPLIED
headers IDREFS #IMPLIED
%scope.attrib;
rowspan %Number.datatype; '1'
colspan %Number.datatype; '1'
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of th.attlist -->]]>
<!-- td: Table Data Cell ............................... -->
<!ENTITY % td.element "INCLUDE" >
<![%td.element;[
<!ENTITY % td.content
"( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT %td.qname; %td.content; >
<!-- end of td.element -->]]>
<!ENTITY % td.attlist "INCLUDE" >
<![%td.attlist;[
<!ATTLIST %td.qname;
%Common.attrib;
abbr %Text.datatype; #IMPLIED
axis CDATA #IMPLIED
headers IDREFS #IMPLIED
%scope.attrib;
rowspan %Number.datatype; '1'
colspan %Number.datatype; '1'
%CellHAlign.attrib;
%CellVAlign.attrib;
>
<!-- end of td.attlist -->]]>
<!-- end of xhtml-table-1.mod -->