since: 31st/Aug./2001; last modified: 5th/Sep./2001
モジュール名のリンクは、 W3C の XHTMLMOD へのものです。
body, head, html, title| 要素 | 属性 | 最小内容モデル |
|---|---|---|
html |
I18N,
version (CDATA),
xmlns (URI = "http://www.w3.org/1999/xhtml") | head, body |
head |
| title |
body |
Common | (Heading | Block | List)* |
title | I18N | PCDATA |
参考:この構造モジュールは、 XHTML モジュールの必須モジュールです。
XHTML 1.1 文書型に則った文書の実例です:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" >
<head>
<title>ヴァーチャル図書館</title>
</head>
<body>
<p><a href="http://vlib.org/">vlib.org</a>へ移動しました。</p>
</body>
</html>
四行目以下が XHTML 文書の内容です。 html 要素をルート要素とする木構造になっていることに注目してください。
html 要素タイプXHTML ファミリーの文書型は、ルート要素が html 要素になります。
XHTML 1.1 では、 html 要素の内容モデルを表すパラメタ実体 %html.content は次のように定義されます:
<!ENTITY % html.content "( head, body )" >
内容モデルには、 head 要素と body 要素が一回ずつ、この順番で現れなければなりません。
実際の DTD 定義とは表記法が異なりますことをご了承ください。
html 要素には、次の属性が定義されています:
xmlnshttp://www.w3.org/1999/xhtml
<html xmlns="http://www.w3.org/1999/xhtml">
html 要素に対する XHTML 名前空間の指定は必須です。I18Nxml:lang 属性
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja">
必ず指定するようにしましょう。version
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="ja"
version="-//W3C//DTD XHTML 1.1//EN" >head 要素タイプhtml 要素の最初の子要素(第一階層のノード)です。 body 要素とは兄弟要素の関係になります。 head 要素の役割は、文書のヘッダーの記述です。
head 要素は、内容に title 要素を一つだけ持たなければならない。これが必須の内容モデルであり、最小内容モデルと呼びます。
更に、 XHTML 1.1 では、 スタイルシートモジュール、基準モジュール、スクリプトモジュール、オブジェクトモジュールを取り込みます。
従って、 style, script, meta, link, object の各要素が、任意の順番で、任意の回数現れても良く、基準モジュール (Base Module) により、 base 要素が追加されます。これは、現れる場合は、一回だけであるべきです。
結果的に、 head 要素タイプの内容モデルを表すパラメタ実体 %head.content は次のように定義されます:
<!ENTITY % head.content
"( %HeadOpts.mix;,
( ( %title.qname;, %HeadOpts.mix;, ( base, %HeadOpts.mix; )? )
| ( base, %HeadOpts.mix;, ( title, %HeadOpts.mix; ))))"
>
接尾辞 .mix を持つパラメタ実体は、雑多な要素の集合をあらわします。具体的には、 %HeadOpts.mix は次のように定義されます:
<!ENTITY % HeadOpts.mix
"( script | style | meta | link | object )*"
>
head 要素の内容モデルの実現に関する詳細は、「head 要素の内容モデル」を参照ください。
I18Nxml:lang 属性profilemeta 要素で指定。
<head>
<base href="http://www.sugai.f2s.com/web/" />
<meta http-equiv="content-type"
content="text/html; charset=UTF-8" />
<title>XHTML 1.1 とはなんだろうか</titel>
<link rel="start index" href="./index.html" />
<link rel="next" href="./XHTML11/xml.html" />
<link rel="stylesheet" href="./XHTML11/core.css"
type="text/css" media="screen" />
</head>
この例では、次の情報が指定されています:
http://www.sugai.f2s.com/web/UTF-8 を用いるXHTML 1.1 とはなんだろうか」http://www.sugai.f2s.com/web/index.htmlhttp://www.sugai.f2s.com/web/XHTML11/xml.htmlhttp://www.sugai.f2s.com/web/XHTML11/core.cssbody 要素body 要素は html 要素の第一の子要素(第一階層のノード)として定義されており、 head 要素の次に並んで登場します。 head 要素とは兄弟要素(ノード)になります。 body 要素の内容は、文書の本文に当たります。
最小内容モデルは、雑多な要素の集合である Heading, Block, List であり、これらは DTD では、 %Block.mix; に定義されています。
| 内容セット | 要素タイプ |
|---|---|
Heading |
h1 | h2 | h3 | h4 | h5 | h6 |
Block |
address | blockquote | div | p | pre
| hr | Form | table | script | noscript |
List |
ol | ul | dl |
Form |
form | fieldset |
body 要素タイプ以下の階層のノードになる要素タイプは、基本的には %Block.mix; か %Inline.mix; に分けられています。 %Inline.mix; に含まれる要素は %Block.mix; 以下の階層のノードにはなり得ますが、その逆は不可です。要素を覚えるごとに、どちらに含まれるか覚えて置いてください。
基本的には、 HTML 4 Strict のブロックレベル要素です。
body 要素の内容モデル実現のメカニズムは、「 body 要素の内容モデル」を参照ください。
body 要素に定義される属性は次のようになります:
Common: Core + Events + I18N + StyleCoreclass (NMTOKENS), id (ID), title (CDATA)I18Nxml:lang (NMTOKEN) Eventsonclick (Script), ondblclick (Script),
onmousedown (Script), onmouseup (Script),
onmouseover (Script), onmousemove (Script),
onmouseout (Script), onkeypress (Script),
onkeydown (Script), onkeyup (Script)Stylestyle (CDATA)onload = scriptonunload = script