とりあえず、ざっと XHTML 1.1 の仕様書を読んでみます。勧告出てから読んでるようじゃ遅いんだけど。(^^;

はじめに

XHTML 1.1 は、モジュール化 XHTML (Modularization of XHTML) をベースにしてモジュール化が行われた、XHTML のバージョンです。これにより、HTML の最大の欠点であった要素定義が拡張不能であった点が解消され、ユーザが DTD を定義して文書データ側で参照する事で、XML ベースの自由な要素拡張が行えるようになります。

XHTML 1.1 では、HTML 4.0/4.01 や XHTML 1.0 で推奨されない (Deprecated) 要素とされた項目が整理され、XHTML Modules によってモジュール化されました。これにより、従来利用可能であった HTML 4.0/4.01, XHTML 1.0 の Transitional DTD や Frameset DTD で定義されていた要素は全て利用できなくなります。

あぁ、ようやく Strict の時代が来るのね。(苦笑)

なお、要素一覧は別の文書にまとめます。

紹介

W3C はインターネットコンテンツ開発者達の方々が、非標準のマークアップから標準のマークアップへ移行するのを助ける為、XHTML 1.0 を作成しましたが、これは HTML 4.01 以前をベースにした文書を XHTML や XML に移行する為に作成されました。今回のモジュール化 XHTML によって定義された XHTML は、W3C は推奨されない要素と属性を XHTML ファミリから取り除きました。これらの要素と属性は、ほとんどの場合、スタイルシートによって置き換えられるか、クライアントの特定機能によって置き換えが可能です。

進化していく為に、 XHTML ファミリ文書タイプはこれらの新しい、より機能的に構造化されたコレクションを基にされました。この W3C の HTML ワーキンググループによる仕様では、モジュールのベースとなる初期文書型を定義しました。この文書型は移植性が高く、後半はクライアントデバイスや、ほとんどのインターネットのコンテンツに適用できます。コンテンツ開発者はこの信頼できる仕様書にある機能的な表現を基にする事で、XHTML ファミリ間で移植性の高いコンテンツを作成できます。

準拠定義

文書の準拠

このバージョンの XHTML では XHTML 名前空間から限定された要素と属性のみを取り出した、厳格に準拠された XHTML 文書の定義を提供します。

厳格に準拠された文書

厳格に準拠された XHTML 1.1 文書はこの仕様書の要求に完全に従って書かれた文書の事を指します。この文書は、以下の条件を全て満たさなくてはなりません。

  1. 文書は XHTML 1.1 DTD に準拠していなければなりません。

  2. 文書のルート要素は常に <html> でなくてはなりません。

  3. 文書のルート要素は XHTML 名前空間を xmlns 属性によって明示しなくてはなりません。XHTML の名前空間は "http://www.w3.org/1999/xhtml" です。

  4. DOCTYPE 宣言がルートエレメントよりも先に示されていなければなりません。これが提供された場合、DOCTYPE 宣言中に含まれる公開識別子は正式な公開識別子 (Formal Public Identifier) を使って XHTML 1.1 DTD 中に書かれている DTD を参照している必要があります。システム識別子は適宜指定してください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

なお、XHTML 文書は必ずしも XML 宣言を含む必要はありませんが、XHTML 文書の著者は XML 宣言を全ての文書に含める事を強くお奨めします。XML 宣言は標準である UTF-8 もしくは UTF-16 以外の文字エンコーディングを利用する場合には必要となります。

ユーザエージェントの準拠

ユーザエージェントが準拠する為には、モジュール化 XHTML [XHTMLMOD] に完全準拠したユーザエージェントである必要があります。

XHTML 1.1 文書タイプ

XHTML 文書タイプは豊富な意味を持つ完全な機能を持った文書タイプです。そうでなければ、XHTML 1.0 Transitional や Frameset 文書タイプから機能を持って来たら良いのです。これらの文書タイプはスタイルシートやその他の機構よりも扱いやすい視覚表現コンポーネントが定義されています。この他、XHTML 1.1 文書タイプから XHTML モジュール [XHTMLMOD] の機能の上に定義され、XHTML 1.0 や HTML 4.0/4.01 で非推奨とされた要素や属性が含まれなくなります。これらの例外にもかかわらず、あるいはこれらの理由から、XHTML 文書タイプは将来的に多様なユーザエージェントをターゲットとした文書タイプの確かな基礎となるでしょう。

XHTML 1.1 文書タイプは XHTML モジュールに沿って作られました。要素、属性、そして最小内容モデルはモジュール化 XHTML (Modularization of XHTML) [XHTMLMOD] によって定義されたモジュールによって連係されます。要素は情報の意味の為に列挙される、とモジュール化 XHTML では定義付けられています。オンライン版のこの文書は、リスト中のモジュール名は現バージョンのモジュール化 XHTML によってモジュール定義されています。

構造モジュール / Structure Module

body, head, html, title

テキストモジュール / Text Module

abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var

ハイパーテキストモジュール / Hypertext Module

a

リストモジュール / List Module

dl, dt, dd, ol, ul, li

オブジェクトモジュール / Object Module

object, param

視覚表現モジュール / Presentation Module

b, big, hr, i, small, sub, sup, tt

編集モジュール / Edit Module

del, ins

テキスト進行方向モジュール / Bidirectional Text Module

bdo

フォームモジュール / Forms Module

button, fieldset, form, input, label, legend, select, optgroup, option, textarea

表モジュール / Table Module

caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr

画像モジュール / Image Module

img

クライアントサイドイメージマップモジュール / Client-side Image Map Module

area, map

サーバサイドイメージマップモジュール / Server-side Image Map Module

img 要素中の ismap 属性

内在イベントモジュール / Intrinsic Events Modules

イベント属性

メタ情報モジュール / Metainformation Module

meta

スクリプトモジュール / Scripting Module

noscript, script

スタイルシートモジュール / Stylesheet Module

style 要素

スタイル属性モジュール 非推奨 / Style Attribute Module

style 属性

結合モジュール / Link Module

link

基本情報モジュール / Base Module

base

ルビ振りモジュール / Ruby Annotation Module

ruby, rbc, rtc, rb, rt, rp

この文書タイプでは何も追加定義は必要ありません。この文書タイプは XHTML 1.1 DTD で定義される XML DTD で実装されます。

Changes from XHTML 1.0 Strict

ここでは XHTML 1.0 Strict と XHTML 1.1 の違いを記述します。XHTML 1.1 は HTML 4 と XHTML 1.0 からの発展形として定義されました。もっとも重要な点は非推奨とされていた機能が取り除かれた事です。これは一般的に、もっと豊かな構造化機能を持つマークアップ言語として定義し、視覚表現をスタイルシートに依存する事になります。

大まかな差異は以下の点です。

  1. 全ての要素で、 xml:lang 属性の方が望ましいとされ、lang 属性が取り除かれました ([XHTMLMOD] に定義されています)。

  2. a 要素と map 要素で、id 属性の方が望ましいとされ、name 属性が取り除かれました ([XHTMLMOD] に定義されています)。

  3. ルビ関係の要素が追加されました ([RUBY] に定義されています)。

参考文献

一般参考文献

XHTMLMOD

モジュール化 XHTML (Modularization of XHTML), W3C Recommendation, Murrary Altheim, et al., 10 April 2001

See: http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410

RUBY

Ruby Annotation, W3C Recommendation, Marcin Sawicki, et al., 31 May 2001.

See: http://www.w3.org/TR/2001/REC-ruby-20010531

HTML 4, XHTML 1.0, XML については省略。

参考情報

CATALOG

Entity Management: OASIS Technical Resolution 9401:1997 (Amendment 2 to TR 9401), Paul Grosso, Chair, Entity Management Subcommittee, SGML Open, 10 September 1997.

See: http://www.oasis-open.org/html.a401.htm

RFC2119

"Key words for use in RFCs to indicate requirement levels", RFC 2119, S. Brandner, March 1997.

Available at: http://www.ietf.org/rfc/rfc2119.txt

XMLNAMES

"Namespaces in XML", W3C Recommendation, Tim Bray, Dave Hollander, Andrew Layman, 14 January 1999.

Available at: http://www.w3.org/TR/1999/REC-xml-names-19990114