iモードの謎

これは本ではないのですが、利用シーン『iモード使用タグ一覧』というものが公開されています。読んで字のごとく、NTT DoCoMo の「iモード」が対応しているタグの一覧なのですが、これがかなり強烈です。

iモード使用タグ一覧

「!-要素」って何?

のけぞり度:★★★★★

要素一覧を見始めると、もういきなりのけぞります。"!-" という要素が紹介されていて、意味は「コメントをつける」。これ、普通に考えると <!->コメント</!->という書式になると思うわけですが、良いのでしょうか。

もっともこれは CompactHTML の TagList(Element List ではないらしい)からそのまま写し取ってきたもようです。真の悪(?)は CompactHTML ですね。

おそらくこれは要素とは全く関係なくて、注釈宣言のことを言っているのだと思いますが、それにしたって <!--comment--> という書式ですから !- ではなく !-- ではありませんか?

と思ったら、「例 <!     >」とか書いてあって大爆発。もう手が着けられません。さて、我々はどうやってコメントを書けば良いのでしょうか。

どうやってバージョンを明示するの?

のけぞり度:★★★

次に !DOCTYPE 要素というのが出てきます。これって要素なの? でも既に「!-要素」で免疫ができていますから大丈夫です。

さて、「!DOCTYPE要素」の意味の欄にはこうあります。

使用しているHTMLのバージョンを明示する。

実に明瞭ですが(どこが?)、さてここで問題です。どうやってバージョンを明示するのでしょうか。

たとえば HTML4.0 なら <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> と書くことで HTML4.0 というバージョンを明示できます。さて、iモード用 HTML だと宣言するには、どういう DOCTYPE宣言……もとい、!DOCTYPE 要素を書いたら良いのでしょうか。これが何処にも書かれていないのです。さて、どうしましょう。

ちなみにこの点、CompactHTML では "-//W3C//DTD Compact HTML 1.0 Draft//EN" を使うことになっていますので問題ありません。でも !DOCTYPE 要素って一体……。

&XXX;

のけぞり度:★★

次に出てくるのは &XXX; 要素。もう全くのけぞりませんね。意味は、「値の指定をする」だそうです。もう見事なまでに意味不明です。

備考欄を見ると、

--&amp;,&copy;,&gt;,&lt;,&quot;,&reg;,&nbsp;,;--&#0;〜&#127;

とあります。どうやら文字実体参照と数値文字参照の定義のようです。

しかし、数値文字参照が &#0; から &#127; までしかないというのはどうしてなのでしょうか。iモードでは ASCII 文字しか使えないのかとも思いましたが、では &copy; とか &reg; とか &nbsp; は何なのでしょうか。HTML4.0 では、それぞれ &#169;, &174;, &160; と同じなのです。しかも他の例文を見ると日本語が使えているし……。

良く分かりませんが、iモードは数値文字参照について特殊な実装をしていて、128 以上のコードは参照できないのかも知れません。ってホントかしら?

マーカー名?

のけぞり度:

次に A 要素。これは要素で問題ありませんね。ほっ。

それは良いのですが、name= の意味が「HTMLファイル内にマーカー名を指定する」というのは何でしょうか。アンカー名のことでしょうか。その割にはアンカーの書式についての解説がないし、A href の方には「他サイトのホームページを表示する」としか書かれていません。アンカーは指定できるのでしょうか? 謎です。

ブロック化ってなに?

のけぞり度:★★

BLOCKQUOTE 要素ですが、

「文章をブロック化し、引用文を明示する」

ブロック化って何でしょうか?

ところで、この表には BLOCKQUOTE が HTML3.2 からあるように書かれていますが、BLOCKQUOTE は HTML2.0 にもあります。HTML1.0 のドラフトにもありました。

何故 DIR ?

のけぞり度:★★★

DIR 要素に対応。この時点で既にのけぞるのですが、何でわざわざ HTML4.0 非推奨な上にほとんど使われていないこんな要素に対応するのでしょうか。

それはともかく、意味が凄かったりします。

メニューリスト及びディレクトリリストを作成する。記述は、やはり<UL>タグなどと同じで、<DIR></DIR>でリスト部を挟み、各項目の先頭に<LL>を付ける。

DIR なんだからディレクトリリストを生成するのかと思ったのですが、メニューリストも生成するのでしょうか。訳が分かりません。「やはり」って何? <LL> って何? と、謎は深まるばかりです。

謎の Hn

のけぞり度:★★★

Hn 要素。意味、「見出しの大きさの指定」。

さあ困りました。どうやって大きさを指定するのでしょうか。<Hn 3> とか?

他の HTML から類推すると、おそらく n に 数字が代入されるのでしょう。しかし、その数字が 1 から 6 までだとかいうことは何処にも書かれていませんね。どうしましょうか。

……って、見出しのレベルじゃなくてサイズなのかとかいう問題はすっ飛んでますね。既に。

ヘアラインてなんですか?

のけぞり度:★★★★

HR の使用例のところを見ると、いきなり「ヘアライン」とか書いてあるのですが、これは何でしょうか。hairline? HR とどういう関連があるのか分からないのですが……。

まさか、彼ら(誰?)は hairrine と綴るのでしょうか。謎は深まります。

ちなみに普通は HR は Horizontal Rule の略だと理解されます。

だからどうやって明示するの?

のけぞり度:★★

HTML 要素の version属性、意味は「このホームページで使用しているHTMLのバージョン情報を明示する」。さて、どうやって明示するのでしょうか。

って、どこかで見た光景なんですが。

メニューリストとは

のけぞり度:★★★

MENU 要素の意味。

メニューリストを作成する。メニューリストとは、基本的にインデントを使ったごく普通のリストで、特に階層のない単純なシングルコラムのリストを指する。

「インデントを使ったごく普通のリスト」って何? 「単純なシングルコラムのリスト」? 何でしょうか。良く分かりません。

エンプティングって何!?

のけぞり度:★★★★★

最強なのは、OPTION 要素の意味。

<OPTION>タグは単独では意味を持ちません。現在は前タグのみのエンプティングとして扱います。

「現在は前タグのみのエンプティングとして扱います」と書かれています。さてどうしましょうか。

現在は、とはどういう意味でしょうか。

前タグって何でしょうか。

そしてなにより、エンプティングって何でしょうか。聞いたこともありません。

もう私の理解を完全に超越しています。お願いだから許して。

総合評価

総合評価は……。

のけぞり度:★★★

なんだか全体的にさっぱり訳が分かりませんが、元にしたと思われる CompactHTML が既に訳が分からないものだったというあたりが落としどころとみました。

こんなのでiモードは本当に普及するのでしょうか。


のけぞる本

HTML鳩丸倶楽部

水無月ばけら, MINAZUKI Bakera
E-mail: bakera@star.email.ne.jp