/[suikacvs]/webroot/www/2004/id/draft-ietf-html-tables-02.txt
Suika

Contents of /webroot/www/2004/id/draft-ietf-html-tables-02.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Tue Jun 15 08:04:04 2004 UTC (19 years, 11 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
New

1
2
3 HTML Tables 10th Oct 1995
4
5 INTERNET DRAFT Dave Raggett, W3C
6 Expires in six months email: <dsr@w3.org>
7
8 HTML Tables
9
10 <draft-ietf-html-tables-02.txt>
11
12 Status of this Memo
13
14 This document is an Internet draft. Internet drafts are working
15 documents of the Internet Engineering Task Force (IETF), its areas
16 and its working groups. Note that other groups may also distribute
17 working information as Internet drafts.
18
19 Internet Drafts are draft documents valid for a maximum of six
20 months and can be updated, replaced or obsoleted by other documents
21 at any time. It is inappropriate to use Internet drafts as reference
22 material or to cite them as other than as "work in progress".
23
24 To learn the current status of any Internet draft please check the
25 "lid-abstracts.txt" listing contained in the Internet drafts shadow
26 directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
27 munnari.oz.au (Pacific Rim), ds.internic.net (US East coast) or
28 ftp.isi.edu (US West coast). Further information about the IETF can
29 be found at URL: http://www.cnri.reston.va.us/
30
31 Distribution of this document is unlimited. Please send comments to
32 the HTML working group (HTML-WG) of the Internet Engineering Task
33 Force (IETF) at <html-wg@oclc.org>. Discussions of this group are
34 archived at URL: http://www.acl.lanl.gov/HTML-WG/archives.html.
35
36 Abstract
37
38 The HyperText Markup Language (HTML) is a simple markup language
39 used to create hypertext documents that are portable from one
40 platform to another. HTML documents are SGML documents with generic
41 semantics that are appropriate for representing information from a
42 wide range of applications. This specification extends HTML to
43 support a wide variety of tables. The model is designed to work well
44 with associated style sheets, but does not require them. It also
45 supports rendering to braille, or speech, and exchange of tabular
46 data with databases and spreadsheets. The HTML table model embodies
47 certain aspects of the CALS table model, e.g. the ability to group
48 table rows into thead, tbody and tfoot sections, plus the ability to
49 specify cell alignment compactly for sets of cells according to the
50 context.
51
52 ------------------------------------------------------------------------------
53
54
55
56
57
58
59 Dave Raggett Page 1
60
61
62
63 HTML Tables 10th Oct 1995
64
65 Contents
66
67 * Recent Changes .................................................... 2
68
69 * Brief Introduction ................................................ 3
70
71 * Design Rationale .................................................. 5
72
73 * Walkthrough of the Table DTD ...................................... 7
74
75 * Recommended Layout Algorithms .................................... 18
76
77 * The Table DTD .................................................... 21
78
79 * References ....................................................... 24
80
81 Recent Changes
82
83 This specification extends HTML to support tables. The table model
84 has grown out of early work on HTML+ and the initial draft of HTML3.
85 The earlier model has been been extended in response to requests
86 from information providers for improved control over the
87 presentation of tabular information:
88
89 * alignment on designated characters such as "." and ":"
90 e.g. aligning a column of numbers on the decimal point
91
92 * more flexibility in specifying table frames and rules
93
94 * incremental display for large tables as data is received
95
96 * the ability to support scrollable tables with fixed headers plus
97 better support for breaking tables across pages for printing
98
99 * optional column based defaults for alignment properties
100
101 In addition, a major goal has been to provide backwards
102 compatibility with the widely deployed Netscape implementation of
103 tables. A subsidiary goal has been to simplify importing tables
104 conforming to the SGML CALS model.
105
106 The latest draft fixes a number of minor inconsistencies in the
107 previous version. The FLOAT attribute for the TABLE element has been
108 replaced by ALIGN. The change provides for compatibility with the
109 Microsoft Internet Explorer, as well as catering for optional text
110 flow around tables.
111
112 Note: This document is also available as an W3C Working Draft, see:
113 http://www.w3.org/pub/WWW/TR/Overview.html.
114
115 ------------------------------------------------------------------------------
116
117
118
119 Dave Raggett Page 2
120
121
122
123 HTML Tables 10th Oct 1995
124
125 A Brief Introduction to HTML Tables
126
127 Tables start with an optional caption followed by one or more rows.
128 Each row is formed by one or more cells, which are differentiated
129 into header and data cells. Cells can be merged across rows and
130 columns, and include attributes assisting rendering to speech and
131 braille, or for exporting table data into databases. The model
132 provides limited support for control over appearence, for example
133 horizontal and vertical alignment of cell contents, border styles
134 and cell margins. You can further affect this by grouping rows and
135 columns together. Tables can contain a wide range of content, such
136 as headers, lists, paragraphs, forms, figures, preformatted text and
137 even nested tables.
138
139 Example
140
141 <TABLE BORDER>
142 <CAPTION>A test table with merged cells</CAPTION>
143 <TR><TH ROWSPAN=2><TH COLSPAN=2>Average
144 <TH ROWSPAN=2>other<BR>category<TH>Misc
145 <TR><TH>height<TH>weight
146 <TR><TH ALIGN=LEFT>males<TD>1.9<TD>0.003
147 <TR><TH ALIGN=LEFT ROWSPAN=2>females<TD>1.7<TD>0.002
148 </TABLE>
149
150 On a dumb terminal, this would be rendered something like:
151
152 A test table with merged cells
153 /--------------------------------------------------\
154 | | Average | other | Misc |
155 | |-------------------| category |--------|
156 | | height | weight | | |
157 |-----------------------------------------|--------|
158 | males | 1.9 | 0.003 | | |
159 |-----------------------------------------|--------|
160 | females | 1.7 | 0.002 | | |
161 \--------------------------------------------------/
162
163
164 Next, a richer example with grouped rows and columns (adapted from
165 "Developing International Software" by Nadine Kano). First here is
166 what the table looks like on paper:
167
168
169
170
171
172
173
174
175
176
177
178
179 Dave Raggett Page 3
180
181
182
183 HTML Tables 10th Oct 1995
184
185
186
187 CODE-PAGE SUPPORT IN MICROSOFT WINDOWS
188 ===============================================================================
189 Code-Page | Name | ACP OEMCP | Windows Windows Windows
190 ID | | | NT 3.1 NT 3.51 95
191 -------------------------------------------------------------------------------
192 1200 | Unicode (BMP of ISO 10646) | | X X *
193 1250 | Windows 3.1 Eastern European | X | X X X
194 1251 | Windows 3.1 Cyrillic | X | X X X
195 1252 | Windows 3.1 US (ANSI) | X | X X X
196 1253 | Windows 3.1 Greek | X | X X X
197 1254 | Windows 3.1 Turkish | X | X X X
198 1255 | Hebrew | X | X
199 1256 | Arabic | X | X
200 1257 | Baltic | X | X
201 1361 | Korean (Johab) | X | ** X
202 -------------------------------------------------------------------------------
203 437 | MS-DOS United States | X | X X X
204 708 | Arabic (ASMO 708) | X | X
205 709 | Arabic (ASMO 449+, BCON V4) | X | X
206 710 | Arabic (Transparent Arabic) | X | X
207 720 | Arabic (Transparent ASMO) | X | X
208 ===============================================================================
209
210
211 The markup for this uses COL elements to group columns and set
212 column alignment. TBODY elements are used to group rows. The FRAME
213 and RULES attributes are used to select which borders to render.
214
215
216 <table border=2 frame=topbot rules=cols>
217 <caption>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</caption>
218 <col align=center>
219 <col align=left>
220 <col align=center span=2>
221 <col align=center span=3>
222 <thead valign=top>
223 <tr>
224 <th>Code-Page<br>ID
225 <th>Name
226 <th>ACP
227 <th>OEMCP
228 <th>Windows<br>NT 3.1
229 <th>Windows<br>NT 3.51
230 <th>Windows<br>95
231 <tbody>
232 <tr><td>1200<td>Unicode (BMP of ISO 10646)<td><td><td>X<td>X<TD>*
233 <tr><td>1250<td>Windows 3.1 Eastern European<td>X<td><td>X<td>X<TD>X
234 <tr><td>1251<td>Windows 3.1 Cyrillic<td>X<td><td>X<td>X<TD>X
235 <tr><td>1252<td>Windows 3.1 US (ANSI)<td>X<td><td>X<td>X<TD>X
236 <tr><td>1253<td>Windows 3.1 Greek<td>X<td><td>X<td>X<TD>X
237 <tr><td>1254<td>Windows 3.1 Turkish<td>X<td><td>X<td>X<TD>X
238
239 Dave Raggett Page 4
240
241
242
243 HTML Tables 10th Oct 1995
244
245 <tr><td>1255<td>Hebrew<td>X<td><td><td><td>X
246 <tr><td>1256<td>Arabic<td>X<td><td><td><td>X
247 <tr><td>1257<td>Baltic<td>X<td><td><td><td>X
248 <tr><td>1361<td>Korean (Johab)<td>X<td><td><td>**<td>X
249 <tbody>
250 <tr><td>437<td>MS-DOS United States<td><td>X<td>X<td>X<TD>X
251 <tr><td>708<td>Arabic (ASMO 708)<td><td>X<td><td><td>X
252 <tr><td>709<td>Arabic (ASMO 449+, BCON V4)<td><td>X<td><td><td>X
253 <tr><td>710<td>Arabic (Transparent Arabic)<td><td>X<td><td><td>X
254 <tr><td>720<td>Arabic (Transparent ASMO)<td><td>X<td><td><td>X
255 </table>
256
257
258 ------------------------------------------------------------------------------
259 Design Rationale
260
261 The HTML table model has evolved from studies of existing SGML
262 tables models, the treatment of tables in common word processing
263 packages, and looking at a wide range of tabular layout in
264 magazines, books and other paper-based documents. The model was
265 chosen to allow simple tables to be expressed simply with extra
266 complexity only when needed. This makes it practical to create the
267 markup for HTML tables with everyday text editors and reduces the
268 learning curve for getting started. This feature has been very
269 important to the success of HTML to date.
270
271 Increasingly people are using filters from other document formats or
272 direct wysiwyg editors for HTML. It is important that the HTML table
273 model fits well with these routes for authoring HTML. This affects
274 how the representation handles cells which span multiple rows or
275 columns, and how alignment and other presentation properties are
276 associated with groups of cells.
277
278 A major consideration for the HTML table model is that the fonts and
279 window sizes etc. in use with browsers are not under the author's
280 control. This makes it risky to rely on column widths specified in
281 terms of absolute units such as picas or pixels. Instead, tables can
282 be dynamically sized to match the current window size and fonts.
283 Authors can provide guidance as to the relative widths of columns,
284 but user agents should to ensure that columns are wide enough to
285 avoid clipping cell contents.
286
287 For large tables or slow network connections, it is desirable to be
288 able to start displaying the table before all of the data has been
289 received. The default window width for most user agents shows about
290 80 characters, and the graphics for many HTML pages are designed
291 with these defaults in mind. Authors can provide a hint to user
292 agents to activate incremental display of table contents. This
293 feature requires the author to specify the number of columns, and
294 includes provision for control of table width and the relative
295 widths of different columns.
296
297
298
299 Dave Raggett Page 5
300
301
302
303 HTML Tables 10th Oct 1995
304
305
306 For incremental display, the browser needs the number of columns and
307 their widths. The default width of the table is the current window
308 size (width="100%"). This can be altered by including a WIDTH
309 attribute in the TABLE start tag. By default all columns have the
310 same width, but you can specify column widths with one or more COL
311 elements before the table data starts.
312
313 The remaining issue is the number of columns. Some people have
314 suggested waiting until the first row of the table has been
315 received, but this could take a long time if the cells have a lot of
316 content. On the whole it makes more sense, when incremental display
317 is desired, to get authors to explicitly specify the number of
318 columns in the TABLE start tag.
319
320 Authors still need a way of informing the browser whether to use
321 incremental display or to automatically size the table to match the
322 cell contents. For the two pass auto sizing mode, the number of
323 columns is determined by the first pass, while for the incremental
324 mode, the number of columns needs to be stated up front. So it seems
325 to that the COLS=_nn_ would be better for this purpose, than a
326 LAYOUT attribute such as LAYOUT=FIXED or LAYOUT=AUTO.
327
328 It is generally held useful to consider documents from two
329 perspectives: Structural idioms such as headers, paragraphs, lists,
330 tables, and figures; and rendering idioms such as margins, leading,
331 font names and sizes. The wisdom of past experience encourages us to
332 separate the structural information of documents from rendering
333 information. Mixing them together ends up causing increased cost of
334 ownership for maintaining documents, and reduced portability between
335 applications and media.
336
337 For tables, the alignment of text within table cells, and the
338 borders between cells are, from the purist's point of view,
339 rendering information. In practice, though, it is useful to group
340 these with the structural information, as these features are highly
341 portable from one application to the next. The HTML table model
342 leaves most rendering information to associated style sheets. The
343 model is designed to take advantage of such style sheets but not to
344 require them.
345
346 This specification provides a superset of the simpler model
347 presented in earlier work on HTML+. Tables are considered as being
348 formed from an optional caption together with a sequence of rows,
349 which in turn consist of a sequence of table cells. The model
350 further differentiates header and data cells, and allows cells to
351 span multiple rows and columns.
352
353 Following the CALS table model, this specification allows table rows
354 to be grouped into head and body and foot sections. This simplifies
355 the representation of rendering information and can be used to
356 repeat table head and foot rows when breaking tables across page
357 boundaries, or to provide fixed headers above a scrollable body
358
359 Dave Raggett Page 6
360
361
362
363 HTML Tables 10th Oct 1995
364
365 panel. In the markup, the foot section is placed before the body
366 sections. This is an optimization shared with CALS for dealing with
367 very long tables. It allows the foot to be rendered without having
368 to wait for the entire table to be processed.
369
370 For the visually impaired, HTML offers the hope of setting to rights
371 the damage caused by the adoption of windows based graphical user
372 interfaces. The HTML table model includes attributes for labeling
373 each cell, to support high quality text to speech conversion. The
374 same attributes can also be used to support automated import and
375 export of table data to databases or spreadsheets.
376
377 This specification allows authors to define groups of columns along
378 with column based alignment properties. A simple inheritance
379 mechanism defines the precedence order for determining applicable
380 values for alignment for each cell.
381
382 Current desktop publishing packages provide very rich control over
383 the rendering of tables, and it would be impractical to reproduce
384 this in HTML, without making HTML into a bulky rich text format like
385 RTF or MIF. This specification does, however, offer authors the
386 ability to choose from a set of commonly used classes of border
387 styles. The BORDER attribute controls the appearence of the border
388 frame around the table while the RULES attribute determines the
389 choice of rulings within the table. A finer level of control will be
390 possible via style sheets.
391
392 ------------------------------------------------------------------------------
393 A walk through the table DTD
394
395 The table document type definition provides the formal definition of
396 the allowed syntax for html tables. The following is an annotated
397 listing of the DTD. The complete listing appears at the end of this
398 document.
399
400 Note that the TABLE element is a block-like element rather a
401 character-level element. As such it is a peer of other HTML
402 block-like elements such as paragraphs, lists and headers.
403
404 Common Attributes
405
406 The following attributes occur in several of the elements and are
407 defined here for brevity. In general, all attribute names and values
408 in this specification are case insensitive, except where noted
409 otherwise.
410
411
412 <!ENTITY % attrs
413 "id ID #IMPLIED -- element identifier --
414 class NAMES #IMPLIED -- used with style sheets --
415 dir (ltr|rtl) #IMPLIED -- I18N text direction --
416 lang NAME #IMPLIED -- as per RFC 1766 --">
417
418
419 Dave Raggett Page 7
420
421
422
423 HTML Tables 10th Oct 1995
424
425
426 ID
427 Used to define a document-wide identifier. This can be used for
428 naming positions within documents as the destination of a
429 hypertext link. It may also be used by style sheets for
430 rendering an element in a unique style. An ID attribute value is
431 an SGML NAME token. NAME tokens are formed by an initial letter
432 followed by letters, digits, "-" and "." characters. The letters
433 are restricted to A-Z and a-z.
434
435 CLASS
436 A space separated list of SGML NAME tokens. CLASS names specify
437 that the element belongs to the corresponding named classes.
438 These may be used by style sheets to provide class dependent
439 renderings.
440
441 LANG
442 A LANG attribute identifies the natural language used by the
443 content of the associated element.The syntax and registry of
444 language values are defined by RFC 1766. In summary the language
445 is given as a primary tag followed by zero or more subtags,
446 separated by "-". White space is not allowed and all tags are
447 case insensitive. The name space of tags is administered by
448 IANA. The two letter primary tag is an ISO 639 language
449 abbreviation, while the initial subtag is a two letter ISO 3166
450 country code. Example values for LANG include:
451
452 en, en-US, en-uk, i-cherokee, x-pig-latin.
453
454 DIR
455 This specifies an override to the base direction for laying out
456 text as determined from the language context (see LANG
457 attribute). The attribute value is either DIR=LTR for left to
458 right or DIR=RTL for right to left rendering of text. The value
459 is case insensitive. The attribute sets the base direction for
460 the text for this element and is overridden by directives within
461 the content, e.g. by LANG and DIR attributes on nested elements.
462
463 ------------------------------------------------------------------------------
464 Horizontal and Vertical Alignment Attributes
465
466 The alignment of cell contents can be specified on a cell by cell
467 basis, or inherited from enclosing elements, such as the row, column
468 or the table element itself.
469
470
471
472
473
474
475
476
477
478
479 Dave Raggett Page 8
480
481
482
483 HTML Tables 10th Oct 1995
484
485 ALIGN
486 This specifies the horizontal alignment of cell contents.
487
488 <!-- horizontal alignment attributes for cell contents -->
489 <!ENTITY % cell.halign
490 "align (left|center|right|justify|char) #IMPLIED
491 char CDATA #IMPLIED -- alignment char, e.g. char=':' --
492 charoff NUTOKEN 50 -- % offset for alignment char --"
493 >
494
495 The attribute value should be one of LEFT, CENTER, RIGHT,
496 JUSTIFY and CHAR. User agents may treat JUSTIFY as left
497 alignment if they lack support for text justification.
498 ALIGN=CHAR is used for aligning cell contents on a particular
499 character.
500
501 For cells spanning multiple rows or columns, where the alignment
502 property is inherited from the row or column, the initial row
503 and column for the cell determines the appropriate alignment
504 property to use.
505
506 Note that an alignment attribute on elements within the cell,
507 e.g. on a P element, overrides the normal alignment value for
508 the cell.
509
510 CHAR
511 This is used to specify an alignment character for use with
512 align=char, e.g. char=":". The default character is the decimal
513 point for the current language, as set by the LANG attribute.
514 The CHAR attribute value is case sensitive.
515
516 CHAROFF
517 An integer value that defines the offset to the alignment
518 character as a percentage of the cell width, e.g. charoff=70.
519 The default value is charoff=50, i.e. midway through the cell.
520
521 Only the first occurence of the alignment character is
522 significant for alignment purposes. If a line doesn't include
523 the alignment character, it should be horizontally shifted to
524 end at the alignment position.
525
526 Note that this applies whether the text is displayed left to
527 right, or right to left. If several cells in different rows for
528 the same column use character alignment, then all such cells
529 should line up, regardless of which character is used for
530 alignment.
531
532 VALIGN
533 Defines whether the cell contents are aligned with the top,
534 middle or bottom of the cell.
535
536
537
538
539 Dave Raggett Page 9
540
541
542
543 HTML Tables 10th Oct 1995
544
545
546 <!-- vertical alignment attributes for cell contents -->
547 <!ENTITY % cell.valign
548 "valign (top|middle|bottom|baseline) #IMPLIED"
549 >
550
551 If present, the value of the attribute should be one of: TOP,
552 MIDDLE, BOTTOM or BASELINE. All cells in the same row with
553 valign=baseline should be vertically positioned so that the
554 first text line in each such cell occur on a common baseline.
555 This constraint does not apply to subsequent text lines in these
556 cells.
557
558 Inheritance Order
559
560 Alignment properties can be included with most of the table
561 elements: COL, THEAD, TBODY, TFOOT, TR, TH and TD. When rendering
562 cells, horizontal alignment is determined by columns in preference
563 to rows, while for vertical alignment, the rows are more important
564 than the columns. The following table gives the detailed precedence
565 order for each attribute:
566
567
568 ALIGN (TH|TD) < COL < TR < (THEAD|TBODY|TFOOT) < default
569 VALIGN (TH|TD) < TR < (THEAD|TBODY|TFOOT) < COL < default
570 LANG (TH|TD) < TR < (THEAD|TBODY|TFOOT) < COL < TABLE < default
571 DIR (TH|TD) < TR < (THEAD|TBODY|TFOOT) < COL < TABLE < default
572
573
574 Properties defined on cells take precedence over inherited
575 properties, but are in turn over-ridden by alignment properties on
576 elements within cells. In the absence of an ALIGN attribute along
577 the inheritance path, the recommended default alignment for table
578 cell contents is ALIGN=LEFT for table data and ALIGN=CENTER for
579 table headers. The recommended default for vertical alignment is
580 VALIGN=MIDDLE.
581
582 ------------------------------------------------------------------------------
583 Standard Units for Widths
584
585 Several attributes specify widths as a number followed by an
586 optional suffix. The units for widths are specified by the suffix:
587 pt denotes points, pi denotes picas, in denotes inches, cm denotes
588 centimeters, mm denotes millimeters, em denotes em units (equal to
589 the height of the default font), and px denotes screen pixels. The
590 default units are screen pixels. The number is an integer value or a
591 real valued number such as "2.5". Exponents, as in "1.2e2", are not
592 allowed. White space is not allowed between the number and the
593 suffix.
594
595 The above set of suffices is augmented for certain elements: "%" is
596 used for the WIDTH attribute for the TABLE element. It indicates
597 that the attribute specifies the percentage width of the space
598
599 Dave Raggett Page 10
600
601
602
603 HTML Tables 10th Oct 1995
604
605 between the current left and right margins, e.g. width="50%". For
606 the COL element, "*" is used with the the WIDTH attribute to specify
607 relative column widths, e.g. width="3*", using the same
608 representation as the CALS table model.
609
610 ------------------------------------------------------------------------------
611 The TABLE element
612
613
614 <!ENTITY % Where "(left|center|right|float-left|float-right)">
615
616 <!ELEMENT table - - (caption?, col*, thead?, tfoot?, tbody+)>
617
618 <!ATTLIST table -- table element --
619 %attrs; -- id, lang, dir and class --
620 align %Where; #IMPLIED -- table position relative to window --
621 width CDATA #IMPLIED -- table width relative to window --
622 cols NUMBER #IMPLIED -- used for immediate display mode --
623 border CDATA #IMPLIED -- controls frame width around table --
624 frame %Frame; #IMPLIED -- which parts of table frame to include --
625 rules %Rules; #IMPLIED -- controls rules between cells --
626 cellspacing NUMBER #IMPLIED -- spacing between cells --
627 cellpadding NUMBER #IMPLIED -- spacing within cells --
628 >
629
630 The TABLE element requires both start and end tags. Table elements
631 start with an optional CAPTION element, optionally followed by one
632 or more COL elements, then an optional THEAD, an optional TFOOT, and
633 finally one or more TBODY elements.
634
635 ------------------------------------------------------------------------------
636 ID, LANG, DIR and CLASS
637 See earlier description of common attributes.
638
639 ALIGN
640 Defines the horizontal position of the table relative to the
641 current left and right margins. Use ALIGN=LEFT to position the
642 table at the left margin, ALIGN=CENTER to center the table
643 midway between the left and right margins, and ALIGN=RIGHT to
644 position the table at the right margin.
645
646 To allow text to flow around the table, use ALIGN=FLOAT-LEFT to
647 position the table at the left margin, with text flowing around
648 its right handside, or use ALIGN=FLOAT-RIGHT to position the
649 table at the right margin, with text flowing around its left
650 handside.
651
652 WIDTH
653 Specifies the desired width of the table. In addition to the
654 standard units, the "%" sign may used to indicate that the width
655 specifies the percentage width of the space between the current
656 left and right margins, e.g. width="50%".
657
658
659 Dave Raggett Page 11
660
661
662
663 HTML Tables 10th Oct 1995
664
665 It is recommended that the table width be increased beyond the
666 value indicated by the WIDTH attribute as needed to avoid
667 clipping of cell contents. In the absence of this attribute, the
668 table width can be determined by the layout algorithm given
669 later on.
670
671 COLS
672 Specifies the number of columns for the table. If present the
673 user agent may render the table dynamically as data is received
674 from the network without waiting for the complete table to be
675 received. If the WIDTH attribute is missing, a default of "100%"
676 may be assumed for this purpose. If the COLS attribute is
677 absent, a prepass through the table's contents is needed to
678 determine the number of columns together with suitable values
679 for the widths of each column.
680
681 BORDER
682 Specifies the width of the border framing the the table, see
683 standard units.
684
685 FRAME
686 Specifies which sides of the frame to render.
687
688 <!ENTITY % Frame "(none|top|bottom|topbot|sides|all|border)">
689
690 NONE (the default, but see below)
691 Don't render any parts of the frame.
692
693 TOP
694 The top part of the frame
695
696 BOTTOM
697 The bottom part of the frame
698
699 TOPBOT
700 The top and bottom parts of the frame
701
702 SIDES
703 The left and right sides of the frame
704
705 ALL
706 All four parts of the frame
707
708 BORDER
709 All four parts of the frame
710
711 These values are compatible with the CALS table model with the
712 exception of "border" which has been added for backwards
713 compatibility with deployed browsers. If a document includes
714 <TABLE BORDER> the user agent will see FRAME=BORDER and
715 BORDER=_implied_. If the document includes <TABLE BORDER=_n_>
716 then the user agent should treat this as frame=border except if
717 _n=0_ for which FRAME=NONE is appropriate.
718
719 Dave Raggett Page 12
720
721
722
723 HTML Tables 10th Oct 1995
724
725
726
727 RULES
728 Specifies where to place rules within the table.
729
730 <!ENTITY % Rules "(none | basic | rows | cols | all)">
731
732 NONE (the default if BORDER is absent or BORDER=0)
733 The table should be rendered without any internal rulings.
734
735 BASIC
736 The THEAD, TFOOT and TBODY elements divide the table into
737 groups of rows. This choice places a horizontal rule between
738 each such group.
739
740 ROWS
741 Place horizontal rules between all rows. User agents may
742 choose to use a heavier rule between groups of rows for
743 emphasis.
744
745 COLS
746 Place vertical rules between groups of columns as defined by
747 COL elements, plus horizontal rules between row groups (see
748 rules=basic).
749
750 ALL (default if BORDER=_n_ and _n_ is non-zero)
751 Place rules between all rows and all columns. User agents
752 may choose to use a heavier rule between groups of rows and
753 columns for emphasis.
754
755 CELLSPACING
756 Specifies the space between individual cells in a table. See
757 standard units.
758
759 CELLPADDING
760 Specifies the amount of space between the border of the cell and
761 its contents. See standard units.
762
763 ------------------------------------------------------------------------------
764 Table Captions
765
766
767 <!ELEMENT caption - - (%text;)+>
768
769 <!ENTITY % Caption "(top|bottom|left|right)">
770
771 <!ATTLIST caption -- table caption --
772 %attrs; -- id, lang, dir and class --
773 align %Caption; #IMPLIED -- relative to table --
774 >
775
776
777 The optional CAPTION element is used to provide a caption for the
778
779 Dave Raggett Page 13
780
781
782
783 HTML Tables 10th Oct 1995
784
785 table. Both start and end tags are required.
786
787 ID, LANG, DIR and CLASS
788 See earlier description of common attributes.
789
790 ALIGN
791 This may be used to control the placement of captions relative
792 to the table. When present, the ALIGN attribute should have one
793 of the values: TOP, BOTTOM, LEFT and RIGHT. It is recommended
794 that the caption is made to fit within the width or height of
795 the table as appropriate. The default position of the caption is
796 deliberately unspecified.
797
798 _The ALIGN attribute is overused in HTML, but is retained here
799 for compatibility with currently deployed browsers._
800
801 ------------------------------------------------------------------------------
802 The COL Element
803
804
805 <!ELEMENT col - O EMPTY>
806
807 <!ATTLIST col -- column groups and properties --
808 %attrs; -- id, lang, dir and class --
809 span NUMBER 1 -- number of columns spanned by group --
810 width CDATA #IMPLIED -- relative width e.g. width="2.5*" --
811 %cell.halign; -- horizontal alignment in cells --
812 %cell.valign; -- vertical alignment in cells --
813 >
814
815
816 This optional element is used to specify column based defaults for
817 table properties. It is an empty element, and as such has no
818 content, and shouldn't be given an end tag. Several COL elements may
819 be given in succession.
820
821 ID, LANG, DIR and CLASS
822 See earlier description of common attributes.
823
824 SPAN
825 A positive integer value that specifies how many columns this
826 element applies to, defaulting to one. In the absence of SPAN
827 attributes the first COL element applies to the first column,
828 the second COL element to the second column and so on. If the
829 second COL element had span=2, it would apply to the second and
830 third column. The next COL element would then apply to the
831 fourth column and so on. SPAN=0 has a special significance and
832 implies that the COL element spans all columns from the current
833 column up to and including the last column.
834
835 WIDTH
836 Specifies the width of the columns, see standard units. In
837 addition, the "*" suffix denotes relative widths, e.g.
838
839 Dave Raggett Page 14
840
841
842
843 HTML Tables 10th Oct 1995
844
845
846
847 width=64 width in screen pixels
848 width=0.5* a relative width of 0.5
849
850
851 Relative widths act as constraints on the relative widths of
852 different columns. If a COL element specifies a relative width
853 of zero, the column should always be set to its minimum width.
854 When widths are given in absolute units, the user agent can use
855 these to constrain the width of the table.
856
857 _Percentage widths are inappropriate as you would need to check
858 that the numbers add up, and they would all have to be changed
859 if a column was inserted or removed. The "*" suffix is used to
860 simplify importing tables from the CALS representation._
861
862 ALIGN, CHAR, CHAROFF and VALIGN
863 Specify values for horizontal and vertical alignment within
864 table cells. See inheritance order of alignment properties.
865
866 ------------------------------------------------------------------------------
867 Table Head, Foot and Body Elements
868
869
870 <!ELEMENT thead - O tr+>
871 <!ELEMENT tfoot - O tr+>
872 <!ELEMENT tbody O O tr+>
873
874 <!ATTLIST (thead|tbody|tfoot) -- table section --
875 %attrs; -- id, lang, dir and class --
876 %cell.halign; -- horizontal alignment in cells --
877 %cell.valign; -- vertical alignment in cells --
878 >
879
880
881 Tables may be divided up into head and body sections. The THEAD and
882 TFOOT elements are optional, but one or more TBODY elements are
883 always required. If the table only consists of a TBODY section, the
884 TBODY start and end tags may be omitted, as the parser can infer
885 them. If a THEAD element is present, the THEAD start tag is
886 required, but the end tag can be omitted, provided a TFOOT or TBODY
887 start tag follows. The same applies to TFOOT. _This definition
888 provides compatibility with tables created for the older model, as
889 well as allowing the end tags for THEAD, TFOOT and TBODY to be
890 omitted._
891
892 The THEAD, TFOOT and TBODY elements provide a convenient means for
893 controlling rendering. If the table has a large number of rows in
894 the body, user agents may choose to use a scrolling region for the
895 table body sections. When rendering to a paged device, tables will
896 often have to be broken across page boundaries. The THEAD, TFOOT and
897 TBODY elements allow the user agent to repeat the table foot at the
898
899 Dave Raggett Page 15
900
901
902
903 HTML Tables 10th Oct 1995
904
905 bottom of the current page, and then the table head at the top of
906 the new page before continuing on with the table body.
907
908 TFOOT is placed before the TBODY in the markup sequence, so that
909 browsers can render the foot before receiving all of the table data.
910 This is useful when very long tables are rendered with scrolling
911 body sections, or for paged output, involving breaking the table
912 over many pages.
913
914 Each THEAD, TFOOT and TBODY element must contain one or more TR
915 elements.
916
917 ID, LANG, DIR and CLASS
918 See earlier description of common attributes.
919
920 ALIGN, CHAR, CHAROFF and VALIGN
921 Specify values for horizontal and vertical alignment within
922 table cells. See inheritance order of alignment properties.
923
924 ------------------------------------------------------------------------------
925 Table Row (TR) elements
926
927
928 <!ELEMENT tr - O (th|td)+>
929
930 <!ATTLIST tr -- table row --
931 %attrs; -- id, lang, dir and class --
932 %cell.halign; -- horizontal alignment in cells --
933 %cell.valign; -- vertical alignment in cells --
934 >
935
936
937 The TR or table row element acts as a container for a row of table
938 cells. The end tag may be omitted.
939
940 ID, LANG, DIR and CLASS
941 See earlier description of common attributes.
942
943 ALIGN, CHAR, CHAROFF and VALIGN
944 Specify values for horizontal and vertical alignment within
945 table cells. See inheritance order of alignment properties.
946
947 ------------------------------------------------------------------------------
948 Table Cells: TH and TD
949
950
951 <!ELEMENT (th|td) - O %body.content>
952
953 <!ATTLIST (th|td) -- header or data cell --
954 %attrs; -- id, lang, dir and class --
955 axis CDATA #IMPLIED -- defaults to cell content --
956 axes CDATA #IMPLIED -- list of axis names --
957 nowrap (nowrap) #IMPLIED -- suppress word wrap --
958
959 Dave Raggett Page 16
960
961
962
963 HTML Tables 10th Oct 1995
964
965 rowspan NUMBER 1 -- number of rows spanned by cell --
966 colspan NUMBER 1 -- number of cols spanned by cell --
967 %cell.halign; -- horizontal alignment in cells --
968 %cell.valign; -- vertical alignment in cells --
969 >
970
971
972 TH elements are used to represent header cells, while TD elements
973 are used to represent data cells. This allows user agents to render
974 header and data cells distinctly, even in the absence of style
975 sheets.
976
977 Cells can span multiple rows and columns, and may be empty. Cells
978 spanning rows contribute to the column count on each of the spanned
979 rows, but only appear in the markup once (in the first row spanned).
980 The row count is determined by the number of TR elements. Any rows
981 implied by cells spanning rows beyond this should be ignored.
982
983 If the column count for the table is greater than the number of
984 cells for a given row (after including cells for spanned rows), the
985 missing cells are treated as occurring on the right hand side of the
986 table and rendered as empty cells. If the language context indicates
987 a right to left writing order, then the missing cells should be
988 placed on the left hand side.
989
990 It is possible to create tables with overlapping cells, for
991 instance:
992
993
994 <table border>
995 <tr><td rowspan=2>1<td>2<td>3
996 <tr><td rowspan=2>4
997 <tr><td colspan=2>5<td>6
998 </table>
999
1000
1001 which might look something like:
1002
1003 /-----------\
1004 | 1 | 2 | 3 |
1005 | |-------|
1006 | | 4 | |
1007 |---|...|---|
1008 | 5 : | 6 |
1009 \-----------/
1010
1011 In this example, the cells labelled 4 and 5 overlap. In such cases,
1012 the rendering is implementation dependent.
1013
1014 The AXIS and AXES attributes for cells provide a means for defining
1015 concise labels for cells. When rendering to speech, these attributes
1016 may be used to provide abbreviated names for the headers relevant to
1017 each cell. Another application is when you want to be able to later
1018
1019 Dave Raggett Page 17
1020
1021
1022
1023 HTML Tables 10th Oct 1995
1024
1025 process table contents to enter them into a database. These
1026 attributes are then used to give database field names. The table's
1027 class attribute should be used to let the software recognize which
1028 tables can be treated in this way.
1029
1030 ID, LANG, DIR and CLASS
1031 See earlier description of common attributes.
1032
1033 AXIS
1034 This defines an abbreviated name for a header cell, e.g. which
1035 can be used when rendering to speech. It defaults to the cell's
1036 content.
1037
1038 AXES
1039 This is a comma separated list of axis names which together
1040 identify the row and column headers that pertain to this cell.
1041 It is used for example when rendering to speech to identify the
1042 cell's position in the table. If missing the user agent can try
1043 to follow up columns and left along rows (right for some
1044 languages) to find the corresponding header cells.
1045
1046 NOWRAP, e.g. <TD NOWRAP>
1047 The presence of this attribute disables automatic wrapping of
1048 text lines for this cell. If used uncautiously, it may result in
1049 excessively wide cells.
1050
1051 ROWSPAN, e.g. <TD ROWSPAN=2>
1052 A positive integer value that defines how may rows this cell
1053 spans. The default ROWSPAN is 1. ROWSPAN=0 has a special
1054 significance and implies that the cell spans all rows from the
1055 current row up to the last row of the table.
1056
1057 COLSPAN, e.g. <TD COLSPAN=2>
1058 A positive integer value that defines how may columns this cell
1059 spans. The default COLSPAN is 1. COLSPAN=0 has a special
1060 significance and implies that the cell spans all columns from
1061 the current column up to the last column of the table.
1062
1063 ALIGN, CHAR, CHAROFF and VALIGN
1064 Specify values for horizontal and vertical alignment within
1065 table cells. See inheritance order of alignment properties.
1066
1067 Note: It is recommended that implementors provide support for the
1068 Netscape 1.1 WIDTH attribute for TH and TD, although this isn't part
1069 of the current specification. Document authors are advised to use
1070 the COL element instead, as this provides better control over table
1071 layout.
1072
1073 ------------------------------------------------------------------------------
1074 Recommended Layout Algorithms
1075
1076 If the COLS attribute on the TABLE element specifies the number of
1077 columns, then the table may be rendered using a fixed layout,
1078
1079 Dave Raggett Page 18
1080
1081
1082
1083 HTML Tables 10th Oct 1995
1084
1085 otherwise the autolayout algorithm described below should be used.
1086
1087 Fixed Layout Algorithm
1088
1089 For this algorithm, it is assumed that the number of columns is
1090 known. The column widths by default should be set to the same size.
1091 Authors may override this by specifying relative or absolute column
1092 widths, using the COL element. The default table width is the space
1093 between the current left and right margins, but may be overridden by
1094 the WIDTH attribute on the TABLE element, or determined from
1095 absolute column widths.
1096
1097 The table syntax alone is insufficient to guarantee the consistency
1098 of attribute values. For instance, the number of columns specified
1099 by the COLS attribute may be inconsistent with the number of columns
1100 implied by the COL elements. This in turn, may be inconsistent with
1101 the number of columns implied by the table cells. A further problem
1102 occurs when the columns are too narrow to avoid clipping cell
1103 contents. The width of the table as specified by the TABLE element
1104 or COL elements may result in clipping of cell contents. It is
1105 recommended that user agents attempt to recover gracefully from
1106 these situations.
1107
1108 Autolayout Algorithm
1109
1110 If the COLS attribute is missing from the table start tag, then the
1111 user agent should use the following autolayout algorithm. It uses
1112 two passes through the table data and scales linearly with the size
1113 of the table.
1114
1115 In the first pass, line wrapping is disabled, and the user agent
1116 keeps track of the minimum and maximum width of each cell. The
1117 maximum width is given by the widest line. As line wrap has been
1118 disabled, paragraphs are treated as long lines unless broken by <BR>
1119 elements. The minimum width is given by the widest word or image
1120 etc. taking into account leading indents and list bullets etc. In
1121 other words, if you were to format the cell's content in a window of
1122 its own, determine the minimum width you could make the window
1123 before things begin to be clipped.
1124
1125 To cope with character alignment of cell contents, the algorithm
1126 keeps three running min/max totals for each column: Left of align
1127 char, right of align char and un-aligned. The minimum width for a
1128 column is then: max(min_left + min_right, min_non-aligned).
1129
1130 The minimum and maximum cell widths are then used to determine the
1131 corresponding minimum and maximum widths for the columns. These in
1132 turn, are used to find the minimum and maximum width for the table.
1133 Note that cells can contain nested tables, but this doesn't
1134 complicate the code significantly. The next step is to assign column
1135 widths according to the current window size (more accurately - the
1136 width between the left and right margins).
1137
1138
1139 Dave Raggett Page 19
1140
1141
1142
1143 HTML Tables 10th Oct 1995
1144
1145 For cells which span multiple columns, a simple approach, as used by
1146 Arena, is to evenly apportion the min/max widths to each of the
1147 constituent columns. A slightly more complex approach is to use the
1148 min/max widths of unspanned cells to weight how spanned widths are
1149 apportioned. Experimental study suggests a blend of the two
1150 approaches will give good results for a wide range of tables.
1151
1152 The table borders and intercell margins need to be included in
1153 assigning column widths. There are three cases:
1154
1155 1. The minimum table width is equal to or wider than the available
1156 space. In this case, assign the minimum widths and allow the
1157 user to scroll horizontally. For conversion to braille, it will
1158 be necessary to replace the cells by references to notes
1159 containing their full content. By convention these appear before
1160 the table.
1161
1162 2. The maximum table width fits within the available space. In this
1163 case, set the columns to their maximum widths.
1164
1165 3. The maximum width of the table is greater than the available
1166 space, but the minimum table width is smaller. In this case,
1167 find the difference between the available space and the minimum
1168 table width, lets call it W. Lets also call D the difference
1169 between maximum and minimum width of the table.
1170
1171 For each column, let d be the the difference between maximum and
1172 minimum width of that column. Now set the column's width to the
1173 minimum width plus d times W over D. This makes columns with
1174 lots of text wider than columns with smaller amounts.
1175
1176 This assignment step is then repeated for nested tables. In this
1177 case, the width of the enclosing table's cell plays the role of the
1178 current window size in the above description. This process is
1179 repeated recursively for all nested tables.
1180
1181 If the table width is specified with the WIDTH attribute, the user
1182 agent attempts to set column widths to match. The WIDTH attribute is
1183 not binding if this results in columns having less than their
1184 minimum widths.
1185
1186 If relative widths are specified with the COL element, the algorithm
1187 is modified to increase column widths over the minimum width to meet
1188 the relative width constraints. The COL elements should be taken as
1189 hints only, so columns shouldn't be set to less than their minimum
1190 width. Similarly, columns shouldn't be made so wide that the table
1191 stretches well beyond the extent of the window. If a COL element
1192 specifies a relative width of zero, the column should always be set
1193 to its minimum width.
1194
1195 ------------------------------------------------------------------------------
1196
1197
1198
1199 Dave Raggett Page 20
1200
1201
1202
1203 HTML Tables 10th Oct 1995
1204
1205 HTML Table DTD
1206
1207 The DTD or document type definition provides the formal definition
1208 of the allowed syntax for html tables.
1209
1210 <!-- Content model entities imported from parent DTD:
1211
1212 %body.content; allows table cells to contain headers, paras,
1213 lists, form elements and even arbitrarily nested tables.
1214
1215 %text; is text characters, including character entities and
1216 character emphasis elements, IMG and anchors
1217 -->
1218
1219 <!ENTITY % attrs
1220 "id ID #IMPLIED -- element identifier --
1221 class NAMES #IMPLIED -- used with style sheets --
1222 dir (ltr|rtl) #IMPLIED -- I18N text direction --
1223 lang NAME #IMPLIED -- as per RFC 1766 --">
1224
1225 <!--
1226 The BORDER attribute sets the thickness of the frame around the
1227 table. The default units are screen pixels.
1228
1229 The FRAME attribute specifies which parts of the frame around
1230 the table should be rendered. The values are the same as for
1231 the CALS table model:
1232
1233 none no frame
1234 top render only the top part of the frame
1235 bottom render only the bottom part of the frame
1236 topbot render both top and bottom parts
1237 sides render both left and right parts
1238 all render all four parts
1239 border render all four parts
1240
1241 The value "border" is included for backwards compatibility with
1242 <TABLE BORDER> which yields frame=border and border=implied
1243 For <TABLE BORDER=1> you get border=1 and frame=implied. In this
1244 case, its appropriate to treat this as frame=border for backwards
1245 compatibility with deployed browsers.
1246
1247 The RULES attribute defines which rules to draw between cells:
1248
1249 none no rules between cells
1250 basic rule between thead/tbody and tbody/tbody
1251 rows as per basic plus row separators
1252 cols as per basic plus column group separators
1253 all between all rows and all columns
1254
1255 If RULES is absent then assume:
1256 "none" if BORDER is absent or BORDER=0 otherwise "all"
1257 -->
1258
1259 Dave Raggett Page 21
1260
1261
1262
1263 HTML Tables 10th Oct 1995
1264
1265 <!ENTITY % Frame "(none|top|bottom|topbot|sides|all|border)">
1266
1267 <!ENTITY % Rules "(none | basic | rows | cols | all)">
1268
1269 <!-- horizontal placement of table relative to window -->
1270 <!ENTITY % Where "(left|center|right|float-left|float-right)">
1271
1272 <!-- horizontal alignment attributes for cell contents -->
1273 <!ENTITY % cell.halign
1274 "align (left|center|right|justify|char) #IMPLIED
1275 char CDATA #IMPLIED -- alignment char, e.g. char=':' --
1276 charoff NUTOKEN 50 -- % offset for alignment char --"
1277 >
1278
1279 <!-- vertical alignment attributes for cell contents -->
1280 <!ENTITY % cell.valign
1281 "valign (top|middle|bottom|baseline) #IMPLIED"
1282 >
1283
1284 <!ELEMENT table - - (caption?, col*, thead?, tfoot?, tbody+)>
1285 <!ELEMENT caption - - (%text;)+>
1286 <!ELEMENT thead - O (tr+)>
1287 <!ELEMENT tfoot - O (tr+)>
1288 <!ELEMENT tbody O O (tr+)>
1289 <!ELEMENT col - O EMPTY>
1290 <!ELEMENT tr - O (th|td)+>
1291 <!ELEMENT (th|td) - O %body.content>
1292
1293 <!-- To provide an effective check that a table is valid, validation
1294 programs need to check that attribute values are mutually consistent. This
1295 is beyond the scope of tools like sgmls. The %Frame and %Rule attribute
1296 value sets both include "all" and "none". This is deliberate and intended
1297 to avoid the authoring errors that would occur if they were different. As a
1298 result, NAME is used for rules to keep SGML parsers happy. -->
1299
1300 <!ATTLIST table -- table element --
1301 %attrs; -- id, lang, dir and class --
1302 align %Where; #IMPLIED -- table position relative to window --
1303 width CDATA #IMPLIED -- table width relative to window --
1304 cols NUMBER #IMPLIED -- used for immediate display mode --
1305 border CDATA #IMPLIED -- controls frame width around table --
1306 frame %Frame; #IMPLIED -- which parts of table frame to include --
1307 rules NAME #IMPLIED -- %Rules; controls rules between cells --
1308 cellspacing NUMBER #IMPLIED -- spacing between cells --
1309 cellpadding NUMBER #IMPLIED -- spacing within cells --
1310 >
1311
1312 <!-- ALIGN is used here for compatibility with deployed browsers -->
1313 <!ENTITY % Caption "(top|bottom|left|right)">
1314
1315
1316
1317
1318
1319 Dave Raggett Page 22
1320
1321
1322
1323 HTML Tables 10th Oct 1995
1324
1325 <!ATTLIST caption -- table caption --
1326 %attrs; -- id, lang, dir and class --
1327 align %Caption; #IMPLIED -- relative to table --
1328 >
1329
1330 <!--
1331 COL elements define groups of columns and the alignment
1332 properties of their cells. The WIDTH attribute specifies the
1333 width of the columns, e.g.
1334
1335 width=64 width in "pixels", see earlier note on units
1336 width=0.5* relative width of 0.5 (default is 1.0)
1337
1338 Percentage widths are inappropriate as you would need to check that
1339 the numbers add up, and they would all have to be changed if a column
1340 was inserted or removed. The "*" suffix is used to simplify importing
1341 tables from the CALS representation.
1342 -->
1343
1344 <!ATTLIST col -- column groups and properties --
1345 %attrs; -- id, lang, dir and class --
1346 span NUMBER 1 -- number of columns spanned by group --
1347 width CDATA #IMPLIED -- relative width e.g. 2.5 --
1348 %cell.halign; -- horizontal alignment in cells --
1349 %cell.valign; -- vertical alignment in cells --
1350 >
1351
1352 <!--
1353 Use THEAD to duplicate headers when breaking table
1354 across page boundaries, or for static headers when
1355 body sections are rendered in scrolling panel.
1356
1357 Use TFOOT to duplicate footers when breaking table
1358 across page boundaries, or for static footers when
1359 body sections are rendered in scrolling panel.
1360
1361 Use multiple TBODY sections when rules are needed
1362 between groups of table rows.
1363 -->
1364 <!ATTLIST (thead|tbody|tfoot) -- table section --
1365 %attrs; -- id, lang, dir and class --
1366 %cell.halign; -- horizontal alignment in cells --
1367 %cell.valign; -- vertical alignment in cells --
1368 >
1369
1370 <!ATTLIST tr -- table row --
1371 %attrs; -- id, lang, dir and class --
1372 %cell.halign; -- horizontal alignment in cells --
1373 %cell.valign; -- vertical alignment in cells --
1374 >
1375
1376
1377
1378
1379 Dave Raggett Page 23
1380
1381
1382
1383 HTML Tables 10th Oct 1995
1384
1385 <!ATTLIST (th|td) -- header or data cell --
1386 %attrs; -- id, lang, dir and class --
1387 axis CDATA #IMPLIED -- defaults to cell content --
1388 axes CDATA #IMPLIED -- list of axis names --
1389 nowrap (nowrap) #IMPLIED -- suppress word wrap --
1390 rowspan NUMBER 1 -- number of rows spanned by cell --
1391 colspan NUMBER 1 -- number of cols spanned by cell --
1392 %cell.halign; -- horizontal alignment in cells --
1393 %cell.valign; -- vertical alignment in cells --
1394 >
1395
1396 ------------------------------------------------------------------------------
1397 References
1398
1399 Arena
1400 W3C's HTML3 browser, see "http://www.w3.org/pub/WWW/Arena/".
1401 Arena was originally created as a proof of concept demo for
1402 ideas in the HTML+ specification that preceded HTML3. The
1403 browser is now being re-implemented to provide a reference
1404 implementation of HTML3 along with support for style sheets and
1405 client-side scripting.
1406
1407 CALS
1408 Continuous Acquisition and Life-Cycle Support (formerly
1409 Computer-aided Acquisition and Logistics Support) (CALS) is a
1410 Department of Defense (DoD) strategy for achieving effective
1411 creation, exchange, and use of digital data for weapon systems
1412 and equipment. More information can be found from the US Navy
1413 CALS home page at http://navysgml.dt.navy.mil/cals.html
1414
1415
1416 HTML 3.0
1417 HyperText Markup Language Specification Version 3.0. This is the
1418 initial draft specification as published in March 1995. Work on
1419 refining HTML3 is proceeding piecemeal with the new table
1420 specification as one of the pieces. For W3C related work on
1421 HTML, see "http://www.w3.org/pub/WWW/MarkUp/".
1422
1423 RFC 1766
1424 "Tags for the Identification of Languages", by H. Alvestrand,
1425 UNINETT, March 1995. This document can be downloaded from
1426 "ftp://ds.internic.net/rfc/rfc1766.txt".
1427
1428 ------------------------------------------------------------------------------
1429 The World Wide Web Consortium:
1430 http://www.w3.org/pub/WWW/Consortium/
1431
1432
1433
1434
1435
1436
1437
1438
1439 Dave Raggett Page 24
1440

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24