XHTML Basic - 多様な端末を念頭に置いたXHTMLの共通分母
モジュール化されたXHTMLを用いて、携帯端末やテレビから通常のPCまで幅広い環境で利用できる文書の共通項とするためのXHTML Basicが2000年12月19日に勧告されました。
なぜXHTML Basicか
HTMLはさまざまな機能を取り込んで改訂を重ねた結果、そうとうヘビーな仕様となり、携帯端末などの小規模な環境ではHTMLを完全にサポートすることは負担が大きくなってきました。そのため、携帯電話などのモバイル環境に向け、CompactHTML、WMLなどの独自のHTML仕様が生まれ、同じコンテンツを提供する場合でも複数の言語によるページ作成が必要という状況が生まれています。
今後、HTMLを利用する環境はますます多様化することが予測されます。こうした中で、環境ごとにばらばらのHTMLを用意するのではなく、共通分母として利用できるHTML(XHTML)を定め、モジュールを使って必要部分だけ環境に特化した機能を取り込めるようにする方法がW3C、WAP Forumなどを中心に検討されてきました。
携帯電話、PDA、テレビ、情報家電などの多様な端末を念頭に置いて、それらで共通して使えるマークアップ言語の基盤となるもの、それがXHTML Basicの役割です。
XHTML Basicのモジュール
XHTML BasicはXHTMLモジュール化仕様に基づき、定義済みの共通モジュールを組み合わせて設計されています。含まれるモジュールは次のとおりです(*印を付けたのが必須モジュールです)。
モジュール | 要素タイプ | |
---|---|---|
Structure* | html, head, title, body | |
Text* | Heading | h1, h2, h3, h4, h5, h6 |
Block | address, blockquote, div, p, pre | |
Inline | abbr, acronym, br, cite, code, dfn, em, kbd, q, samp, span, strong, var | |
Hypertext* | a | |
List* | dl, dt, dd, ol, ul, li | |
Basic Forms | form, input, label, select, option, textarea | |
Basic Tables | caption, table, td, th, tr | |
Image | img | |
Object | object, param | |
Metainformation | meta | |
Link | link | |
Base | base |
- XHTML BasicにはStylesheetモジュールは含まれませんが、link要素タイプを使って外部スタイルシートを組み込むことは可能とされています。
- Basic Tablesモジュールでは、テーブルを入れ子にすることはできません。またBasic Formsのinput要素タイプには、file型は含まれません。
- 言語を示すlang属性は廃止され、XMLの標準である
xml:lang
のみが使われます。 - 2000年2月10日付草案に比べると、Objectモジュールが追加されています。またBasic Formsモジュールにlabel要素タイプが加わっています。
XHTML Basicには、スクリプトやHTML4で導入された高度なテーブルは含まれません。また、イベント関連は端末によって対応すべきイベントが異なるということもあり、やはり含まれていません。
さらに、手軽な画面表示コントロール機能であったhr要素タイプやb, big, i, small, sub, supといった要素タイプも割愛されています。画面表示はデバイスごとに特性が異なるので、これらの表示系モジュールが含まれないのは当然とも言えるでしょう。
XHTML Basicはこのように必要最小限のモジュールだけで構成されているので、携帯端末、情報家電などはそれぞれの機能を生かすために、XHTML Basicを元に独自の拡張を施したマークアップ言語を設計することが考えられます。その意味では、完全な共通言語ということはできません。それでも、各サービスが全く独自のHTMLを策定するよりは、遙かに情報の共有が容易になることは確かです。
コンテンツ制作者としては、XHTML Basicに従ったマークアップでページを作成することで、幅広い端末に1つのソースで対応できることになります。スクリプトが使えない、アクセシビリティのための機能がHTML4より簡略化されているなどの制約はありますが、XHTML Basicを基本にしたページづくりを研究してみるのは、端末の多様化する時代に向けての賢明な準備であると言えると思います。
妥当なXHTML Basic
仕様に則った妥当なXHTML Basicとするには、例によって
- 適切なDTDに従っていること
- 文書はhtmlをルート要素(root element=一番の親要素)として記述されていること
- このルート要素において、xmlns属性でXHTMLの名前空間(
http://www.w3.org/1999/xhtml
)を指定すること - ルート要素の前に有効な文書型宣言を行っていること
を満たす必要があります。XHTML Basic 1.0の文書型宣言は
(例)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
となります。
XHTML Basicの実装が始まる
携帯電話系のメーカをはじめとして、XHTML Basicのサポートを表明したり、次期製品への実装を発表したりという動きが出てきました。一気にXHTML Basicに置き換わるというより、XHTML Basicも合わせてサポートという形からスタートすることになりそうです。
- 次世代携帯電話向けブラウザ「Compact NetFront Plus」でXHTML Basicをサポート (2001-03-19 ACCESSプレスリリース)
- 携帯電話メーカーやコンテンツ事業者などが「XHTML」対応を推進(2001-03-22 Internet Watch)
WML 2.0
2001年6月26日にProposed Versionとして公開されたWML 2.0は、実際にXHTML Basicをベースに拡張を施した仕様となっています。デフォルトの名前空間をXHTMLのものとしたうえで、WML独自のの名前空間を定め、wml:
というプレフィックスを用いて拡張要素タイプや属性を利用します。そのため、文書の冒頭は次のようになります。
(例)
<!DOCTYPE html PUBLIC"-//WAPFORUM//DTD WML 2.0//EN" "http://www.wapforum.org/wml20.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wml="http://www.wapforum.org/2001/wml">
基本的にベースはXHTML Basicですが、
- Basic Formsモジュールの代わりにXHTML 1.1と同じFormsモジュールが採用されている
- Style Sheet, Presentationモジュールが追加採用されている
- Structureモジュールに
xml:card
要素タイプが追加されるなど、各モジュールに拡張が施されている
などが異なります。またWML独自の機能として、EventsモジュールとContext and Navigationモジュールが新たに定義され、組み込まれています。
WML 2.0を含むWAP 2.0は、携帯各社がサポートを表明しています。
- WAP2.0でiモードとEZwebの仕様が1つに──ドコモも移行(2001-08-02 ZDNet Mobile)