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
要素には、次の属性が定義されています:
xmlns
http://www.w3.org/1999/xhtml
<html xmlns="http://www.w3.org/1999/xhtml">
html
要素に対する XHTML 名前空間の指定は必須です。I18N
xml: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
要素の内容モデル」を参照ください。
I18N
xml:lang
属性profile
meta
要素で指定。<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.html
http://www.sugai.f2s.com/web/XHTML11/xml.html
http://www.sugai.f2s.com/web/XHTML11/core.css
body
要素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 + Style
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)
onload
= scriptonunload
= script