XHTML Basicは,ブラウザ・フォン向けコンテンツの次世代記述言語である。NTTドコモのiモードやKDDIのEZwebなどがこぞって採用を表明している。現状のコンパクトHTMLやHDMLなど,サービスごとに異なる記述言語を利用するという煩わしさから解放される。XHTML Basicは,コンパクトHTMLに似ているものの,記述する際には厳密さが要求される。これから携帯向けサイトの構築を考える場合,近いうちにXHTML Basicが使えることを念頭に入れておいたほうがよい。

 (齋藤 淳=atsaitou@nikkeibp.co.jp

 iモードはコンパクトHTML(ハイパーテキスト・マークアップ言語),EZwebはHDML(携帯端末向けマークアップ言語)――。これまでサービスごとに異なっていたブラウザ・フォン向けのコンテンツ記述言語が統一される。WAP(無線アプリケーション・プロトコル)フォーラムで新しいコンテンツ記述言語「WML(無線マークアップ言語)2」の標準化が進められており,NTTドコモやKDDIといった携帯電話事業者がこれを採用することを表明している。WML2のベースとなるのが「XHTML Basic」(拡張可能ハイパーテキスト・マークアップ言語ベーシック版)である。現状のように,携帯電話サービスごとに,異なる記述言語を使う煩わしさから解放される日が近づいた。

図1●大手ベンダーがこぞって携帯端末向けページ記述言語XHTML Basicを採用
 XHTML Basicは,携帯電話など,CPU能力やメモリーが少ない端末向けにタグを絞り込んだコンテンツ記述言語である。WAPフォーラムとW3C(WWWコンソーシアム)が共同で策定し,2000年12月に勧告した(図1[拡大表示])。HTMLをXML(拡張可能マークアップ言語)を使って定義したコンテンツ記述言語「XHTML」(拡張可能ハイパーテキスト・マークアップ言語)のサブセットである。

 現状では,iモードやEZwebなど,サービスごとに異なるコンテンツ記述言語を使う必要があるが,2001年に入ってから,続々XHTML Basicの採用を表明し始めた。NTTドコモやKDDIなどが発表している。

 XHTML Basicは基本的に従来のHTMLと構文がほとんど同じで,特にiモードで使うコンパクトHTMLと似ている。EZwebが利用するHDMLとは違いが大きいといえるが,HDMLに比べれば使いやすい言語といえる。

iモード側に近いXHTML Basic

 XHTML BasicはW3Cが標準化したXHTML1.0をベースにしている。XHTMLは,HTMLをつぎはぎだらけで拡張してきた点を反省し,タグの拡張を容易にするためにXMLを利用して整理したものだ。

 XHTMLの仕様では,同じような機能を持つタグを集めてモジュールとして分類してある。

 最新のXHTML 1.1には,22のモジュールがあるが,HTML Basicではそのうちの13をサポートする。XHTMLにあるものから削除されているのは

・プレゼンテーション関連(<b>,<big>,<hr>,<i>,<small>など)
・双方向テキスト
・イメージマップ(サーバー・サイドとクライアント・サイドの双方のイメージマップ)
・スクリプティング(<script>,<noscript>)
など,携帯端末では不要か重要性の低いモジュールである。

結果としてタグの総数は50個ほどと,HTML 2.0とほぼ同じ数になっている。XHTML Basicでは普通はサポートされないXHTML 1.1のモジュールを,あとから追加することも可能である。

表1●XHTML BasicとiモードのコンパクトHTML,HDMLの違い
HTMLをベースにしたXHTML BasicとコンパクトHTMLはかなり似ている
 XHTML Basicと既存の携帯端末向けのコンテンツ記述言語を比較すると,HTMLをベースにしたiモードのコンパクトHTMLの方が近いことがわかる(表1[拡大表示])。iモードのコンパクトHTMLのタグはほとんどをカバーしているといってもよい。

HDMLとの親和性は低い

 一方,EZweb端末用のHDMLとXHTML Basicは大きく異なる。もともとHDMLのコンテンツ記述方法は,HTMLとは考え方が異なっている。処理速度を高速化するために,「カード」と「デッキ」という概念を導入しているからだ。カードは表示画面1ページ分に当たり,デッキは1回でダウンロードするカードの集合体である。うまく複数のカードをデッキにまとめれば,ページ間の移動を高速に見せられる。

 さらにカードにはDisplay,NoDisplay,Choice,Entryという役割の違うフォームが4種類あり,それを使い分けて表示画面や入力画面を作っていく。タイトル・タグ(<TITLE>)はなく,カードの宣言文の属性として名前を付ける。カード間の移動も,
<A TASK="GO" DEST="リンク先">
といったように,HTMLのようなリンクとは違った書き方をする。
 このため,HTMLに慣れたユーザーでも,HDMLのコンテンツを記述するには容易ではなかった。XHTML Basicのほうが,HTMLに似ているため,使いやすい言語といえる。

ルーズな書き方は許されない

 XHTML Basicでは注意すべきことがある。厳密な書き方が要求されることと,フォント・サイズなどのスタイルを直接に指定できないことである。

 XHTML Basicの基になったXHTMLの設計には,ブラウザ側のエラー処理の負担を減らす,という思想がある。HTMLではあいまいだった仕様を厳密化して,コンテンツをより整った形で書くことを義務付ける。

 例えばこれまでタグ名には大文字小文字の混在が可能だったが,XHTMLでは小文字だけで記述する。リスト・タグ(<li>)などの終了タグ(</li>)はHTMLでは省略可能だったが,XHTMLでは必須(ひっす)となる。このほかにも省略することが許されないタグがある。タグが間違っている部分はページが見えなくなってしてしまう。

 この辺は,携帯電話などに搭載するブラウザの仕様にもよるが,仕様通りにコンテンツを記述することを心がけたい。その代わり,書式が整ったコンテンツを作るよう徹底させることで,「これまでのブラウザのプログラムを劇的に減らせる可能性がある」(W3C SVGワーキンググループメンバーであるキヤノン プラットホーム開発本部の藤沢 淳氏)という。