TBODYと負け組サラリーマンの週末

私は負け組です。昨日、立川昭和記念公園花火大会という多摩地区の大イベントがあり、我が町谷保も、遊びにいった八王子も、そして立川も浴衣を着た女の子ちゃんたちで賑わっておりました。

私は人生の負け組なのでそんな女の子ちゃんたちを横目に「あ゛ー」とかなんとか声にならない想いを口にしながら歩いていたわけですが、さあこれから始まろうという夕方の立川駅改札口前ではおたくと思われる男子大学生の二人組がぼーっとしているのを見かけ、

「うむ、負け組同士なんとか今日を乗り切ろうな!」

と同類に対する生暖かいまなざしを送ったのです。ところがすぐに浴衣を着た女の子ちゃんの二人組が登場し、「あ、あのこっちが友達の…」とか女の子ちゃんの片方がもう片方を男子大学生Bに紹介しており、どうやら男子Aと女子Aはつきあっていて男子Bと女子Bを互いに紹介しあうという、生々しい立川の恋愛の一部始終を垣間見た私は愛と裏切りの南武本線。女の子は二人とも、立川文化圏らしからぬ初々しさを漂わせており、女子Bさんかはもーなんかちょっと照れてたりして非常にさわやかな光景であった!。見た目おたくだからって関係ないよね。彼らの人生は勝ち組と言えよう!。

そんな愛と憎しみの南武本線にのってなんとなく谷保に帰ってきてみると谷保もヤンキーさんの甚平・浴衣カップルで大にぎわい。ヤンキーだからって関係ないよね。彼らもまた勝ち組と言えましょう。

悲しみ通り越して何も感じなくなった私がそのまま家路を辿っていると、前方からやってくるのは、それぞれに自転車を押しながら連れ歩く中学生カップル!。女の子ちゃん側は浴衣だけど男の子の方は普段着で二人とも何故か自転車を押していて、それも二人ともお互いの間に自転車を配置してるんです。二人とも互いの目を見ないで照れて俯きながら話しているし、その微妙な距離感がたまりませんね!。おそらくこの花火大会というのは多摩地区の中高生にとってはたまらない夏休みの一大イベントと言えるのでしょう!。

「お前花火どうすんの?」
「え、いいよ。行く人いないし」
「いいじゃん、あいつ誘っちゃえよ。いけるって、マジで」
「えー、こえーよー」
「だーいじょぶだって、マジでマジで」

とかなんとかあって電話したに違い有りませんよ!。うーむ、良い思い出になるのだろうなぁ。これから良いことや良くないことなど起こるだろうし、最終的にその愛が実る…という確率の方が低いだろうけど、十年後におぢさんのように心の貧しい大人にだけはなるんじゃないよ…。と若人達の幸せを祈りつつ帰宅しました。

そうしてカップルのみなさんが花火を見ながら手をつなぐかどうか迷ったり、この後誘ったらホテルに行けるかどうか考えたり、そんなことをして一夏の思い出づくりに励んでいる間、負け組の私は、XHTML1.0 TransitionalのDTDを見たり、HTML4.01 TransitionalのDTDを見たり等して過ごしました。完全に負けてます。

最近すっかり「W3C の文書をじっくり腰を据えて読んでみるブーム」が来ている私、たまにはこうして、南北の窓を開けはなって夏の風を通しながら扇風機に当たりつつ、顔で笑って心で泣きながらのんびり規格書を読んでみるのも良いものです。新しい発見があります。

新しい発見の一つとしては、 TBODY 様の扱いですね!。とにかくびっくりしたのが、HTML4.01 Transitionalの方!。 TABLE の要素型宣言!

<!ELEMENT TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>

って書いてあります!。おー!意味不明だ!。とか思いました?。これ、 TABLE の子供ちゃんはだれとだれじゃないとダメっていうかー、そうじゃないとマジ困る。ということを表しているんですけど、これによると子供ちゃんは、

  • まず、 CAPTION が0回か1回!
  • 次に、 COL が0回かそれ以上、または COLGROUP が0回かそれ以上、のどっちか
  • 次は、 THEAD が0回か1回
  • 次で、 TFOOT が0回か1回

0 最後に、 TBODY が1回かそれ以上

ということのようです。間に見慣れない - - ってのが入ってるんですけどこれはなんだと思ったら「省略可能性」のことだそうです。最初のが「開始タグを省略しても良いか?」で二つ目のが「終了タグを終了しても良いか?」を示しているとのこと。試しに P タグ見てみると

<!ELEMENT P - O (%inline;)*            -- paragraph -->

- 0 となってます。つまり開始タグは省略できないけど、終了タグは省略してもいいや、マジで、だってめんどいっしょ?。と、書いてあります。

それにしても TABLE に戻って奥さん!。 TABLE の子供に TR が居なくてショック!。 TBODY が「1回かそれ以上」ということで必須でショック!。実はこれ、XHTML1.0 Transitionalではそうなってなくて、

<!ELEMENT table (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>

ってなっててちゃんと最後に

  • tbody が1回かそれ以上、かあるいは tr が1回かそれ以上

となっていて、 DTD でちゃんと tbody を省略して良いことになってるんですけど…。HTML4.01だと省略しちゃいけなかったなんて…。これまで省略しまくって生きてきたよおぢさん…。おぢさん、やっぱり何をやっても負け組さ…。と思って挫けそうになったんですけど、こっちの、HTML 4.01 Specificationの中のですね、TBODY の説明の項見てると

The TBODY start tag is always required except when the table contains only one table body and no table head or foot sections.
(TBODY 開始タグは、 テーブルがたった一つの本体を持ち、ヘッダもフッタも無い場合を除き 常に必要である)

と書いてあるので、なんだ THEAD と TFOOT を使わないときは省略できるんじゃん!。どっちなんじゃん!。よくわかんないじゃん!。なんなんじゃん!。はっきりしてよね!。こっちは負け組なんだからさ、ほんとにさ。

というわけで、私のサイトでの結論、「TBODY は省略可!」。以上!。あんまり細かいことばっかり考えてると本当に負け組になりそう…。いや、もう充分負けてますから…。これ以上は勘弁してください…。