1 <!-- ...................................................................... --> |
|
2 <!-- XHTML Table Module .................................................. --> |
|
3 <!-- file: xhtml-table-1.mod |
|
4 |
|
5 This is XHTML, a reformulation of HTML as a modular XML application. |
|
6 Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. |
|
7 Revision: $Id: xhtml-table-1.mod,v 1.1 2004-02-23 16:11:21 ylafon Exp $ SMI |
|
8 |
|
9 This DTD module is identified by the PUBLIC and SYSTEM identifiers: |
|
10 |
|
11 PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN" |
|
12 SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod" |
|
13 |
|
14 Revisions: |
|
15 (none) |
|
16 ....................................................................... --> |
|
17 |
|
18 <!-- Tables |
|
19 |
|
20 table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td |
|
21 |
|
22 This module declares element types and attributes used to provide |
|
23 table markup similar to HTML 4, including features that enable |
|
24 better accessibility for non-visual user agents. |
|
25 --> |
|
26 |
|
27 <!-- declare qualified element type names: |
|
28 --> |
|
29 <!ENTITY % table.qname "table" > |
|
30 <!ENTITY % caption.qname "caption" > |
|
31 <!ENTITY % thead.qname "thead" > |
|
32 <!ENTITY % tfoot.qname "tfoot" > |
|
33 <!ENTITY % tbody.qname "tbody" > |
|
34 <!ENTITY % colgroup.qname "colgroup" > |
|
35 <!ENTITY % col.qname "col" > |
|
36 <!ENTITY % tr.qname "tr" > |
|
37 <!ENTITY % th.qname "th" > |
|
38 <!ENTITY % td.qname "td" > |
|
39 |
|
40 <!-- The frame attribute specifies which parts of the frame around |
|
41 the table should be rendered. The values are not the same as |
|
42 CALS to avoid a name clash with the valign attribute. |
|
43 --> |
|
44 <!ENTITY % frame.attrib |
|
45 "frame ( void |
|
46 | above |
|
47 | below |
|
48 | hsides |
|
49 | lhs |
|
50 | rhs |
|
51 | vsides |
|
52 | box |
|
53 | border ) #IMPLIED" |
|
54 > |
|
55 |
|
56 <!-- The rules attribute defines which rules to draw between cells: |
|
57 |
|
58 If rules is absent then assume: |
|
59 |
|
60 "none" if border is absent or border="0" otherwise "all" |
|
61 --> |
|
62 <!ENTITY % rules.attrib |
|
63 "rules ( none |
|
64 | groups |
|
65 | rows |
|
66 | cols |
|
67 | all ) #IMPLIED" |
|
68 > |
|
69 |
|
70 <!-- horizontal alignment attributes for cell contents |
|
71 --> |
|
72 <!ENTITY % CellHAlign.attrib |
|
73 "align ( left |
|
74 | center |
|
75 | right |
|
76 | justify |
|
77 | char ) #IMPLIED |
|
78 char %Character.datatype; #IMPLIED |
|
79 charoff %Length.datatype; #IMPLIED" |
|
80 > |
|
81 |
|
82 <!-- vertical alignment attribute for cell contents |
|
83 --> |
|
84 <!ENTITY % CellVAlign.attrib |
|
85 "valign ( top |
|
86 | middle |
|
87 | bottom |
|
88 | baseline ) #IMPLIED" |
|
89 > |
|
90 |
|
91 <!-- scope is simpler than axes attribute for common tables |
|
92 --> |
|
93 <!ENTITY % scope.attrib |
|
94 "scope ( row |
|
95 | col |
|
96 | rowgroup |
|
97 | colgroup ) #IMPLIED" |
|
98 > |
|
99 |
|
100 <!-- table: Table Element .............................. --> |
|
101 |
|
102 <!ENTITY % table.element "INCLUDE" > |
|
103 <![%table.element;[ |
|
104 <!ENTITY % table.content |
|
105 "( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ), |
|
106 (( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))" |
|
107 > |
|
108 <!ELEMENT %table.qname; %table.content; > |
|
109 <!-- end of table.element -->]]> |
|
110 |
|
111 <!ENTITY % table.attlist "INCLUDE" > |
|
112 <![%table.attlist;[ |
|
113 <!ATTLIST %table.qname; |
|
114 %Common.attrib; |
|
115 summary %Text.datatype; #IMPLIED |
|
116 width %Length.datatype; #IMPLIED |
|
117 border %Pixels.datatype; #IMPLIED |
|
118 %frame.attrib; |
|
119 %rules.attrib; |
|
120 cellspacing %Length.datatype; #IMPLIED |
|
121 cellpadding %Length.datatype; #IMPLIED |
|
122 > |
|
123 <!-- end of table.attlist -->]]> |
|
124 |
|
125 <!-- caption: Table Caption ............................ --> |
|
126 |
|
127 <!ENTITY % caption.element "INCLUDE" > |
|
128 <![%caption.element;[ |
|
129 <!ENTITY % caption.content |
|
130 "( #PCDATA | %Inline.mix; )*" |
|
131 > |
|
132 <!ELEMENT %caption.qname; %caption.content; > |
|
133 <!-- end of caption.element -->]]> |
|
134 |
|
135 <!ENTITY % caption.attlist "INCLUDE" > |
|
136 <![%caption.attlist;[ |
|
137 <!ATTLIST %caption.qname; |
|
138 %Common.attrib; |
|
139 > |
|
140 <!-- end of caption.attlist -->]]> |
|
141 |
|
142 <!-- thead: Table Header ............................... --> |
|
143 |
|
144 <!-- Use thead to duplicate headers when breaking table |
|
145 across page boundaries, or for static headers when |
|
146 tbody sections are rendered in scrolling panel. |
|
147 --> |
|
148 |
|
149 <!ENTITY % thead.element "INCLUDE" > |
|
150 <![%thead.element;[ |
|
151 <!ENTITY % thead.content "( %tr.qname; )+" > |
|
152 <!ELEMENT %thead.qname; %thead.content; > |
|
153 <!-- end of thead.element -->]]> |
|
154 |
|
155 <!ENTITY % thead.attlist "INCLUDE" > |
|
156 <![%thead.attlist;[ |
|
157 <!ATTLIST %thead.qname; |
|
158 %Common.attrib; |
|
159 %CellHAlign.attrib; |
|
160 %CellVAlign.attrib; |
|
161 > |
|
162 <!-- end of thead.attlist -->]]> |
|
163 |
|
164 <!-- tfoot: Table Footer ............................... --> |
|
165 |
|
166 <!-- Use tfoot to duplicate footers when breaking table |
|
167 across page boundaries, or for static footers when |
|
168 tbody sections are rendered in scrolling panel. |
|
169 --> |
|
170 |
|
171 <!ENTITY % tfoot.element "INCLUDE" > |
|
172 <![%tfoot.element;[ |
|
173 <!ENTITY % tfoot.content "( %tr.qname; )+" > |
|
174 <!ELEMENT %tfoot.qname; %tfoot.content; > |
|
175 <!-- end of tfoot.element -->]]> |
|
176 |
|
177 <!ENTITY % tfoot.attlist "INCLUDE" > |
|
178 <![%tfoot.attlist;[ |
|
179 <!ATTLIST %tfoot.qname; |
|
180 %Common.attrib; |
|
181 %CellHAlign.attrib; |
|
182 %CellVAlign.attrib; |
|
183 > |
|
184 <!-- end of tfoot.attlist -->]]> |
|
185 |
|
186 <!-- tbody: Table Body ................................. --> |
|
187 |
|
188 <!-- Use multiple tbody sections when rules are needed |
|
189 between groups of table rows. |
|
190 --> |
|
191 |
|
192 <!ENTITY % tbody.element "INCLUDE" > |
|
193 <![%tbody.element;[ |
|
194 <!ENTITY % tbody.content "( %tr.qname; )+" > |
|
195 <!ELEMENT %tbody.qname; %tbody.content; > |
|
196 <!-- end of tbody.element -->]]> |
|
197 |
|
198 <!ENTITY % tbody.attlist "INCLUDE" > |
|
199 <![%tbody.attlist;[ |
|
200 <!ATTLIST %tbody.qname; |
|
201 %Common.attrib; |
|
202 %CellHAlign.attrib; |
|
203 %CellVAlign.attrib; |
|
204 > |
|
205 <!-- end of tbody.attlist -->]]> |
|
206 |
|
207 <!-- colgroup: Table Column Group ...................... --> |
|
208 |
|
209 <!-- colgroup groups a set of col elements. It allows you |
|
210 to group several semantically-related columns together. |
|
211 --> |
|
212 |
|
213 <!ENTITY % colgroup.element "INCLUDE" > |
|
214 <![%colgroup.element;[ |
|
215 <!ENTITY % colgroup.content "( %col.qname; )*" > |
|
216 <!ELEMENT %colgroup.qname; %colgroup.content; > |
|
217 <!-- end of colgroup.element -->]]> |
|
218 |
|
219 <!ENTITY % colgroup.attlist "INCLUDE" > |
|
220 <![%colgroup.attlist;[ |
|
221 <!ATTLIST %colgroup.qname; |
|
222 %Common.attrib; |
|
223 span %Number.datatype; '1' |
|
224 width %MultiLength.datatype; #IMPLIED |
|
225 %CellHAlign.attrib; |
|
226 %CellVAlign.attrib; |
|
227 > |
|
228 <!-- end of colgroup.attlist -->]]> |
|
229 |
|
230 <!-- col: Table Column ................................. --> |
|
231 |
|
232 <!-- col elements define the alignment properties for |
|
233 cells in one or more columns. |
|
234 |
|
235 The width attribute specifies the width of the |
|
236 columns, e.g. |
|
237 |
|
238 width="64" width in screen pixels |
|
239 width="0.5*" relative width of 0.5 |
|
240 |
|
241 The span attribute causes the attributes of one |
|
242 col element to apply to more than one column. |
|
243 --> |
|
244 |
|
245 <!ENTITY % col.element "INCLUDE" > |
|
246 <![%col.element;[ |
|
247 <!ENTITY % col.content "EMPTY" > |
|
248 <!ELEMENT %col.qname; %col.content; > |
|
249 <!-- end of col.element -->]]> |
|
250 |
|
251 <!ENTITY % col.attlist "INCLUDE" > |
|
252 <![%col.attlist;[ |
|
253 <!ATTLIST %col.qname; |
|
254 %Common.attrib; |
|
255 span %Number.datatype; '1' |
|
256 width %MultiLength.datatype; #IMPLIED |
|
257 %CellHAlign.attrib; |
|
258 %CellVAlign.attrib; |
|
259 > |
|
260 <!-- end of col.attlist -->]]> |
|
261 |
|
262 <!-- tr: Table Row ..................................... --> |
|
263 |
|
264 <!ENTITY % tr.element "INCLUDE" > |
|
265 <![%tr.element;[ |
|
266 <!ENTITY % tr.content "( %th.qname; | %td.qname; )+" > |
|
267 <!ELEMENT %tr.qname; %tr.content; > |
|
268 <!-- end of tr.element -->]]> |
|
269 |
|
270 <!ENTITY % tr.attlist "INCLUDE" > |
|
271 <![%tr.attlist;[ |
|
272 <!ATTLIST %tr.qname; |
|
273 %Common.attrib; |
|
274 %CellHAlign.attrib; |
|
275 %CellVAlign.attrib; |
|
276 > |
|
277 <!-- end of tr.attlist -->]]> |
|
278 |
|
279 <!-- th: Table Header Cell ............................. --> |
|
280 |
|
281 <!-- th is for header cells, td for data, |
|
282 but for cells acting as both use td |
|
283 --> |
|
284 |
|
285 <!ENTITY % th.element "INCLUDE" > |
|
286 <![%th.element;[ |
|
287 <!ENTITY % th.content |
|
288 "( #PCDATA | %Flow.mix; )*" |
|
289 > |
|
290 <!ELEMENT %th.qname; %th.content; > |
|
291 <!-- end of th.element -->]]> |
|
292 |
|
293 <!ENTITY % th.attlist "INCLUDE" > |
|
294 <![%th.attlist;[ |
|
295 <!ATTLIST %th.qname; |
|
296 %Common.attrib; |
|
297 abbr %Text.datatype; #IMPLIED |
|
298 axis CDATA #IMPLIED |
|
299 headers IDREFS #IMPLIED |
|
300 %scope.attrib; |
|
301 rowspan %Number.datatype; '1' |
|
302 colspan %Number.datatype; '1' |
|
303 %CellHAlign.attrib; |
|
304 %CellVAlign.attrib; |
|
305 > |
|
306 <!-- end of th.attlist -->]]> |
|
307 |
|
308 <!-- td: Table Data Cell ............................... --> |
|
309 |
|
310 <!ENTITY % td.element "INCLUDE" > |
|
311 <![%td.element;[ |
|
312 <!ENTITY % td.content |
|
313 "( #PCDATA | %Flow.mix; )*" |
|
314 > |
|
315 <!ELEMENT %td.qname; %td.content; > |
|
316 <!-- end of td.element -->]]> |
|
317 |
|
318 <!ENTITY % td.attlist "INCLUDE" > |
|
319 <![%td.attlist;[ |
|
320 <!ATTLIST %td.qname; |
|
321 %Common.attrib; |
|
322 abbr %Text.datatype; #IMPLIED |
|
323 axis CDATA #IMPLIED |
|
324 headers IDREFS #IMPLIED |
|
325 %scope.attrib; |
|
326 rowspan %Number.datatype; '1' |
|
327 colspan %Number.datatype; '1' |
|
328 %CellHAlign.attrib; |
|
329 %CellVAlign.attrib; |
|
330 > |
|
331 <!-- end of td.attlist -->]]> |
|
332 |
|
333 <!-- end of xhtml-table-1.mod --> |
|