html要素
Updated / Published
html
要素(HTML document root element)は DOCTYPE宣言(文章型宣言)の後に続けて HTML(XHTML)で記述された文書であることを定義します。html
要素はルート要素と呼ばれる最大の親要素で文書全体の内容を包含します。必ず head
要素と body
要素を一つずつ記述しなければいけません。ただし、フレーム設定型DTD(Frameset)(HTML 4.01, XHTML1.0)では body
要素の代わりに frameset
要素を記述します。
lang
属性(xml:lang
属性)は基本的に html
要素に指定します。ルート要素に lang
属性(xml:lang
属性)を指定することで、文書内の全ての要素に対して特定の言語が指定されたことになります。異なる言語を利用する要素に対しては個別に lang
属性(xml:lang
属性)を指定すると良いでしょう。XHTML1.0 には id
属性がありますが、HTML4.01 と XHTML1.1 にはありません。
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 要素型
- ルート要素(最大の親要素)
- 開始タグ
- XHTML 必須
- HTML4.01 省略可
- 終了タグ
- XHTML 必須
- HTML4.01 省略可
- 非推奨
- -
- 内容モデル
xmlns属性
- バージョン
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- すべての要素(XHTML1.0 は html要素にのみ指定可能)
- 必須
- 必須属性
- 非推奨
- -
- 属性値
- URI(ネームスペース)
XML ネームスペース(名前空間)を指定します。XHTML文書では1つの文書内に他に定義されたマークアップ言語を複数使用することができます。たとえば、XMLアプリケーションに数学用マークアップ言語の MathML があります。XHTML と MathML の2つのマークアップ言語を同一文書内で使用したい場合に、言語違いの要素名が重複してしまうことがあるかもしれません。そこでネームスペースを指定することで、複数の言語で同じ要素名が衝突しても、各要素に対して xmlns
属性で「ここは XHTML の要素」「ここは MathML の要素」と各言語の仕様で定義されているネームスペースを明示しておくことで混乱を避けることができます。このため XHTML文書では html
要素にベースとなる XHTML用のネームスペースを指定しなければならないことになっています。XHTML1.0 及び 1.1 に与えられているネームスペースは次の通りです。
xmlns="http://www.w3.org/1999/xhtml"
version属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.1
- 指定要素
- html
- 必須
- -
- 非推奨
- 非推奨
- 属性値
- 文書型定義(DTD)のフォーマル公開識別子
その文書がどのバージョンに属するかを明示するものです。これまでのバージョンとの区別をつけ、混乱を避けるための情報となります。文書型定義(DTD)には、このバージョンはどのような要素や属性、属性値を指定することができるということが定義されており、制作者は宣言したバージョン情報に応じて、その定義されている仕様(ルール)に沿った文書を作成しなければいけません。version
属性は HTML4.01 と XHTML1.1 にはありますが、XHTML1.0 にはありません。version
属性の値には、各文書型定義(DTD)のフォーマル公開識別子の部分を指定します。
- HTML4.01 Strict
version="-//W3C//DTD HTML 4.01//EN"
- HTML4.01 Transitional
version="-//W3C//DTD HTML 4.01 Transitional//EN"
- HTML4.01 Frameset
version="-//W3C//DTD HTML 4.01 Frameset//EN"
- XHTML 1.1
version="-//W3C//DTD XHTML 1.1//EN"
本来バージョンの明示は、html
要素よりも先に DOCTYPE宣言(文章型宣言)によって定義するため version
属性は非推奨に定められており、使う必要はありません。