last modified 23rd/Oct. 2000
表の行(横方向の並び)をグループ化する要素を紹介します。
TABLE 要素は、最低一つ以上の TBODY 要素を子供要素に持たなければなりません。
<table> <tbody> ... </tbody> </table>
要素宣言
<!ELEMENT THEAD - O (TR)+ -- table header --> <!ELEMENT TFOOT - O (TR)+ -- table footer --> <!ELEMENT TBODY O O (TR)+ -- table body -->
要素 | 開始タグ | 終了タグ | 役割 | 内容モデル |
---|---|---|---|---|
THEAD | 必須 | 省略可能 | 表のヘッダ | 行を表わす TR 要素しか子供要素に持てません。 |
TFOOT | 必須 | 省略可能 | 表のフッタ | |
TBODY | 省略可能 | 省略可能 | 表の内容 |
TBODY 要素の開始タグは、当概の表に THEAD 要素、 TFOOT 要素が現れず、且つ TBODY 要素が一つしかない場合に限り、省略可能です。タグが省略されても、要素自体は存在すると考えます。
<table> <tbody> <!-- 省略不可能 --> ... </tbody> <!-- 省略可能 --> <tbody> <!-- 省略不可能 --> ... </tbody> <!-- 省略可能 --> </table>
このように省略されたタグは、ブラウザが自動的に補って解釈します。 Netscape Communicator 4.x はこの処理を適切に実行できませんので、タグの省略はしない方が安全でしょう。
ヘッダ、フッタを与えた例;
<table> <thead> <tr> …ヘッダの情報… </tr> </thead> <tfoot> <tr> …フッタの情報… </tr> </tfoot> <tbody> <tr> …第一ブロックの第一行… </tr> <tr> …第一ブロックの第ニ行… </tr> </tbody> <tbody> <tr> …第ニブロックの第一行… </tr> <tr> …第ニブロックの第ニ行… </tr> <tr> …第ニブロックの第三行… </tr> </tbody> </table>
表のヘッダやフッタを与えた場合、次のようなメリットが考えられます;
これらのメリットを実現する為に、 TFOOT 要素は TBODY 要素よりも先に記述する必要が有ります。
行グループ要素の属性宣言;
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- horizontal alignment in cells -- %cellvalign; -- vertical alignment in cells -- >