XHTML 1.1 Modules

ここでは、 XHTML 1.1 のモジュールを紹介します。各要素の説明は HTML 4 に準じます。 HTML 4 でサイトを作成する際用いる要素の参考にしてください。 XHTML 1.1 に関する詳細は、「XHTML 1.1 とはなんだろうか」を参照ください。

属性集合

上述のモジュールで利用される属性の集合名の定義です。各属性の定義は HTML 4 に準じます。

集合名 集合に含まれる属性
Core class (NMTOKENS), id (ID), title (CDATA)
I18N xml:lang (NMTOKEN)
Events onclick (Script), ondblclick (Script), onmousedown (Script), onmouseup (Script), onmouseover (Script), onmousemove (Script), onmouseout (Script), onkeypress (Script), onkeydown (Script), onkeyup (Script)
Style style (CDATA)
Common Core + Events + I18N + Style

概念モジュール定義

Core Modules

ストラクチャー・モジュール* [私訳]
body, head, html, title
要素 属性 最小内容モデル
body Common (Heading | Block | List)*
head I18N, profile (URI) title
html I18N, version (CDATA), xmlns (URI = "http://www.w3.org/1999/xhtml") head, body
title I18N PCDATA
テキスト・モジュール* [私訳]
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
要素 属性 最小内容モデル
abbr Common (PCDATA | Inline)*
acronym Common (PCDATA | Inline)*
address Common (PCDATA | Inline)*
blockquote Common, cite (URI) (PCDATA | Headings | Block | List)*
br Core EMPTY
cite Common (PCDATA | Inline)*
code Common (PCDATA | Inline)*
dfn Common (PCDATA | Inline)*
div Common (PCDATA | Flow)*
em Common (PCDATA | Inline)*
h1 Common (PCDATA | Inline)*
h2 Common (PCDATA | Inline)*
h3 Common (PCDATA | Inline)*
h4 Common (PCDATA | Inline)*
h5 Common (PCDATA | Inline)*
h6 Common (PCDATA | Inline)*
kbd Common (PCDATA | Inline)*
p Common (PCDATA | Inline)*
pre Common, xml:space="preserve" (PCDATA | Inline)*
q Common, cite (URI) (PCDATA | Inline)*
samp Common (PCDATA | Inline)*
span Common (PCDATA | Inline)*
strong Common (PCDATA | Inline)*
var Common (PCDATA | Inline)*

このモジュールの最小内容モデルは幾つかの内容セットを定義する:

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
Flow
Heading | Block | Inline
ハイパーテキスト・モジュール* [私訳]
a
要素 属性 最小内容モデル
a Common, accesskey (Character), charset (Charset), href (URI), hreflang (LanguageCode), rel (LinkTypes), rev (LinkTypes), tabindex (Number), type (ContentType) (PCDATA | Inline - a)*

ものモジュールは、テキスト・モジュールの内容セット Inline に a 要素を追加する。

リスト・モジュール* [私訳]
dl, dt, dd, ol, ul, li
要素 属性 最小内容モデル
dl Common (dt | dd)+
dt Common (PCDATA | Inline)*
dd Common (PCDATA | Flow)*
ol Common li+
ul Common li+
li Common (PCDATA | Flow)*

このモジュールは、内容セット List も定義し、その最小内容モデルは (dl | ol | ul)+ である。そして、このモジュールは、このセットを、テキスト・モジュールの Flow 内容セットに追加する。

Text Extension Modules

プレゼンテーション・モジュール [私訳]
b, big, hr, i, small, sub, sup, tt
要素 属性 最小内容モデル
b Common (PCDATA | Inline)*
big Common (PCDATA | Inline)*
hr Common EMPTY
i Common (PCDATA | Inline)*
small Common (PCDATA | Inline)*
sub Common (PCDATA | Inline)*
sup Common (PCDATA | Inline)*
tt Common (PCDATA | Inline)*

このモジュールが使われるときは、 hr 要素が、テキスト・モジュールの内容セット BLACK に追加される。 加えて、 b, big, i, small, sub, sup, tt 要素が、テキスト・モジュールの内容セット Inline に加えられる。

編集モジュール [私訳]
del, ins
要素 属性 最小内容モデル
del Common, cite (URI), datetime (Datetime) (PCDATA | Flow)*
ins Common, cite (URI), datetime (Datetime) (PCDATA | Flow)*

このモジュールが使われるときは、 del 要素と ins 要素が、テキスト・モジュールの内容セット Inline に追加される。

双方向テキスト・モジュール [私訳]
bdo
要素 属性 最小内容モデル
bdo Core, dir* ("ltr" | "rtl") (PCDATA | Inline)*

このモジュールが使われるときは、 bdo 要素が、テキスト・モジュールの内容セット Inline に追加される。 このモジュールを選択すると、属性 dir* ("ltr" | "rtl") を、属性集合 I18N に加える。

Forms Module

フォーム・モジュール [私訳]
button, fieldset, form, input, label, legend, select, optgroup, option, textarea
要素 属性 最小内容モデル
form Common, accept (ContentTypes), accept-charset (Charsets), action* (URI), method ("get"* | "post"), enctype (ContentType) (Heading | List | Block - Form | fieldset)+
input Common, accept (ContentTypes), accesskey (Character), alt (Text), checked ("checked"), disabled ("disabled"), maxlength (Number), name (CDATA), readonly ("readonly"), size (Number), src (URI), tabindex (Number), type ("text"* | "password" | "checkbox" | "button" | "radio" | "submit" | "reset" | "file" | "hidden" | "image"), value (CDATA) EMPTY
select Common, disabled ("disabled"), multiple ("multiple"), name (CDATA), size (Number), tabindex (Number) (optgroup | option)+
option Common, disabled ("disabled"), label (Text), selected ("selected"), value (CDATA) PCDATA
textarea Common, accesskey (Character), cols* (Number), disabled ("disabled"), name (CDATA), readonly ("readonly"), rows* (Number), tabindex (Number) PCDATA
button Common, accesskey (Character), disabled ("disabled"), name (CDATA), tabindex (Number), type ("button" | "submit"* | "reset"), value (CDATA) (PCDATA | Headings | List | Block - Form | Inline - Formctrl )*
fieldset Common (PCDATA | legend | Flow)*
label Common, accesskey (Character), for (IDREF) (PCDATA | Inline - label)*
legend Common, accesskey (Character) (PCDATA | Inline)+
optgroup Common, disabled ("disabled"), label* (Text) option+

このモジュールは二つの内容セットを定義する:

Form
form | fieldset
Formctrl
input | select | textarea | label | button

このモジュールが使われるときは、テキスト・モジュールで定義されている、内容セット Block に内容セット Form を加え、内容セット Inline に内容セット Formctrl を加える。

Tables Module

表モジュール [私訳]
caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr
要素 属性 最小内容モデル
caption Common (PCDATA | Inline)*
table Common, border (Pixels), cellpadding (Length), cellspacing (Length), datapagesize (CDATA), frame ("void" | "above" | below" | "hsides" | "lhs" | "rhs" | "vsides" | "box" | "border"), rules ("none" | "groups" | "rows" | "cols" | "all"), summary (Text), width (Length) caption?, ( col* | colgroup* ), (( thead?, tfoot?, tbody+ ) | ( tr+ ))
td Common, abbr (Text), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Character), charoff (Length), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row", "col", "rowgroup", "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") (PCDATA | Flow)*
th Common, abbr (Text), align ("left" | "center" | "right" | "justify" | "char"), axis (CDATA), char (Character), charoff (Length), colspan (Number), headers (IDREFS), rowspan (Number), scope ("row", "col", "rowgroup", "colgroup"), valign ("top" | "middle" | "bottom" | "baseline") (PCDATA | Flow)*
tr Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") (td | th)+
col Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), span (Number), valign ("top" | "middle" | "bottom" | "baseline"), width (MultiLength) EMPTY
colgroup Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), span (Number), valign ("top" | "middle" | "bottom" | "baseline"), width (MultiLength) col*
tbody Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+
thead Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+
tfoot Common, align ("left" | "center" | "right" | "justify", "char"), char (Character), charoff (Length), valign ("top" | "middle" | "bottom" | "baseline") tr+

このモジュールが使われるときは、テキスト・モジュールの内容セット Block に、 table 要素を追加する。

Image Module

画像モジュール [私訳]
img
要素 属性 最小内容モデル
img Common, alt* (Text), height (Length), longdesc (URI), src* (URI), width (Length) EMPTY

このモジュールが使われるときは、テキスト・モジュールの内容セット Inline に、 img 要素を追加する。

Client-side Image Map Module

クライアントサイド・イメージマップ・モジュール [私訳]
area, map
要素 属性 最小内容モデル
a& coords (CDATA), shape ("rect" | "circle" | "poly" | "default") n/a
area Common, accesskey (Character), alt* (Text), coords (CDATA), href (URI), nohref ("nohref"), shape ("rect"* | "circle" | "poly" | "default"), tabindex (Number) EMPTY
img& usemap (IDREF) n/a
input& usemap (IDREF) n/a
map I18N, Events, class (NMTOKEN), id* (ID), title (CDATA) ((Heading | Block) | area)+
object& usemap (IDREF) 注意:オブジェクト・モジュールが含まれている場合に限る

このモジュールが使われるときは、テキスト・モジュールの内容セット Inlinemap 要素が追加される。

Server-side Image Map Module

サーバーサイド・イメージマップ・モジュール [私訳]
imgismap 属性
要素 属性 最小内容モデル 注意
img& ismap ("ismap") n/a  
input& ismap ("ismap") n/a フォームモジュール、もしくは基本フォームモジュールが選択されているとき

Object Module

オブジェクト・モジュール [私訳]
object, param
要素 属性 最小内容モデル
object Common, archive (URIs), classid (URI), codebase (URI), codetype (ContentType), data (URI), declare ("declare"), height (Length), name (CDATA), standby (Text), tabindex (Number), type (ContentType), width (Length) (PCDATA | Flow | param)*
param id (ID), name* (CDATA), type (ContentType), value (CDATA), valuetype ("data"* | "ref" | "object") EMPTY

このモジュールが使われるときは、テキスト・モジュールの内容セット Inline に、 object 要素を追加する。

Intrinsic Events Module

組み込みイベント・モジュール [私訳]
イベント属性
要素 属性 注意
a& onblur (Script), onfocus (Script)  
area& onblur (Script), onfocus (Script) Client-side Image Map Module も使われているとき
frameset& onload (Script), onunload (Script) Frames Module も使われているとき
form& onreset (Script), onsubmit (Script) Basic Forms か Forms Module が使われているとき
body& onload (Script), onunload (Script)  
label& onblur (Script), onfocus (Script) Forms Module が使われているとき
input& onblur (Script), onchange (Script), onfocus (Script), onselect (Script) Basic Forms or Forms Module が使われているとき
select& onblur (Script), onchange (Script), onfocus (Script) Basic Forms か Forms Module が使われているとき
textarea& onblur (Script), onchange (Script), onfocus (Script), onselect (Script) Basic Forms か Forms Module が使われているとき
button& onblur (Script), onfocus (Script) Forms Module が使われているとき

Metainformation Module

メタ情報・モジュール [私訳]
meta
要素 属性 最小内容モデル
meta I18N, content* (CDATA), http-equiv (NMTOKEN), name (NMTOKEN), scheme (CDATA) EMPTY

このモジュールが選択されたときは、構造モジュールで定義される head 要素の内容モデルに、 meta 要素が追加される。

Scripting Module

スクリプティング・モジュール [私訳]
noscript, script
要素 属性 最小内容モデル
noscript Common (Heading | List | Block)+
script charset (Charset), defer ("defer"), src (URI), type* (ContentType), xml:space="preserve" PCDATA

このモジュールが使われるときは、テキスト・モジュールの内容セット BlockInline に、 script 要素と noscript 要素が追加される。 加えて、構造モジュールで定義される head 要素の内容モデルに script 要素が追加される。

Style Sheet Module

スタイルシート・モジュール [私訳]
style 要素
要素 属性 最小内容モデル
style I18N, media (MediaDesc), title (Text), type* (ContentType), xml:space="preserve" PCDATA

このモジュールが使われるときは、構造モジュールの head 要素の内容モデルに、 style 要素を追加する。

Style Attribute Module

スタイル属性モジュール 非推奨 [私訳]
style 属性

スタイル属性モジュールは、 style 属性を定義する。 このモジュールが選択されると、スタイル属性集合を有効にする。

Link Module

リンク・モジュール [私訳]
link
要素 属性 最小内容モデル
link Common, charset (Charset), href (URI), hreflang (LanguageCode), media (MediaDesc), rel (LinkTypes), rev (LinkTypes), type (ContentType) EMPTY

このモジュールが使われるときは、構造モジュールで定義される head 要素の内容モデルに、 link 要素を追加する。

Base Module

ベース・モジュール [私訳]
base
要素 属性 最小内容モデル
base href* (URI) EMPTY

When this module is used, it adds the base element to the content model of the head element of the Structure Module.

Ruby Module

XHTML では、 [RUBY] で定義されている、ルビ注釈モジュール (Ruby Annotation Module) も利用している:

ルビ注釈モジュール
ruby, rbc, rtc, rb, rt, rp
要素属性最小内容モデル
rubyCommon(rb, (rt | (rp, rt, rp)))
rbcCommonrb+
rtcCommonrt+
rbCommon(PCDATA | Inline - ruby)*
rtCommon, rbspan (CDATA)(PCDATA | Inline - ruby)*
rpCommonPCDATA*

ruby 要素の最大内容モデルは以下のようになる:

((rb, (rt | (rp, rt, rp))) | (rbc, rtc, rtc?))
サンプル
ソース表示例表示概念
<ruby>
  <rb>WWW</rb>
  <rt>World Wide Web</rt>
</ruby>
WWW World Wide Web At the bottom left, three large letters reading 'WWW'. On top of them, in smaller letters, the text 'World Wide Web'. To the right, arrows and text saying 'ruby base' (bottom) and 'ruby text' (top).

ruby 要素をサポートしていない環境では、ルビ注釈の文字列は、 ruby base 要素 (rb) の後ろに連続して表示されるので、上の場合は、 "WWW World Wide Web" と表示される可能性があり、これでは文章が意味をなさない。

このような場合のために、 ruby 要素をサポートする環境では表示しない要素が用意されている。使い方は NOFRAMES 要素、 NOSCRIPT 要素などと同じ。以下は、 ruby 要素をサポートしていない環境では "WWW (World Wide Web)" と表示されるサンプル:

サンプル
<ruby>
  <rb>WWW</rb>
  <rp>(</rp><rt>World Wide Web</rt><rp>)</rp>
</ruby>
WWW (World Wide Web) WWW (World Wide Web)

次のものは、 ruby 要素内部の構造化である。三つのベース部分 ("10", "31", "2002") に対して、 ("Month", "Day", "Year") が対応している。第二の ruby テキスト "Expiration Date" は全てのベーステキスト ("10 31 2002") に結びつくので、ベーステキストの下部に表示されるように望まれる。

サンプル
<ruby>
  <rbc>
    <rb>10</rb>
    <rb>31</rb>
    <rb>2002</rb>
  </rbc>
  <rtc>
    <rt>Month</rt>
    <rt>Day</rt>
    <rt>Year</rt>
  </rtc>
  <rtc>
    <rt rbspan="3">Expiration Date</rt>
  </rtc>
</ruby>
10 31 2002 Month Day Year Expiration Date
Month Day Year
10 31 2002
Expiration Date

このルビー要素の構造化は、 I.E.5.5 でもサポートしていない。

著作権は放棄していません。Copyright(C) 2001 SUGAI, Manabu, All rights Reserved.
FC2> モビット