document element type

根要素

目次

  1. 仕様書
  2. 根要素
  3. 文書要素
    1. DOM における定義
    2. XML における定義
    3. SGML における定義
    4. 文書要素の要素名
  4. 根要素の適合性
  5. document.documentElement (DOM)
    1. 仕様書
    2. 歴史
  6. :root 疑似クラス
    1. 仕様書
    2. 歴史
      1. 選択子3
    3. メモ
  7. 関連
  8. 歴史

仕様書#

根要素#

文書要素#

[13] 文書要素は、文書要素木におけるもっとも上側 (外側) にある、 文書子供であるような要素です。文書は直接の子要素を1つだけ持てるので、 (正常な状態では) 文書要素は1つだけ存在します。文書要素根要素と同じものとなります。

DOM における定義#

[12] 文書文書要素 (document element) は、 当該文書であるような要素か、それがなければ null です >>37

[38] 文書子供の制約から、そのような要素はあるとしたら1つだけです。

XML における定義#

[18] Extensible Markup Language (XML) 1.0 (Fifth Edition) ( 版) http://www.w3.org/TR/xml/#dt-root

There is exactly one element, called the root, or document element, no part of which appears in the content of any other element.

SGML における定義#

[2]

文書要素 (document element)
文書型実現値の最も外側にある要素であって、 その要素の共通識別子となる文書型名をもつ要素。
JIS X 4151‐1992 3. (240)

[4] 文書要素は根要素とも呼ばれます。

[5] SGML の文書要素の終了タグって省略不能なの? 終了タグがないとどこで文書が終わるのか不明だとかいう説があるし、 規格の参考とかでもなんだかそんな雰囲気が漂ってる。 だけど実際問題、 HTML では html 要素は終了タグ省略可能だしなあ。 それに文書の終りは文書要素の終了タグじゃなくてファイルなり記録群なりの最後のところだろうし。

[39] 基底文書要素

文書要素の要素名#

文書型名

根要素の適合性#

[19] 根要素要素名文書型名は原則一致していないといけません。詳しくは文書型名の項を参照してください。

[20] text/html 構文の文書や、 HTML文書iframe 要素srcdoc 属性文書では、根要素html 要素でなければならないことになっています。逆に HTMLの構文解析器の方も html 要素を自動的に作り、他のすべての要素テキストをその中に入れるので、これらの文書html 以外の根要素が生じることはありません。

[21] XML 本体仕様では、 >>19妥当性制約を除けば根要素についての制約はありません。

[22] >>20 の通り文字列としての text/html 文書は必ず html根要素となりますが、これは DOM についての規定ではありませんから、 スクリプト等によって他の要素に差し替えられたり、根要素自体が削除されたりする可能性はあり、 特にそれが不適合ともされていません。

[26] >>25 により要素は明示的に認められている場所以外では使えませんから、 根要素として使えるのも、根要素として認められているものに限定されます。

[23] html 要素の説明 >>24 では文書根要素として使えるとありますが、 この部分は参考であり、他に規定として記述しているところは (>>20 を除けば) ありません。 HTML では他に根要素として使える要素はありません。

[31] RDF/XML とみなされる文書にあっては、 rdf:RDF 要素の他に、 nodeElement に合致する要素根要素とすることができます >>30。 すなわち、 rdf:Description の他、 rdf:type として使われる任意の RDF URI参照展開URIとするような要素が使えます。

[32] どんな文書RDF/XML とみなされるかは、 RDF/XML の項を参照してください。

[34] XSLT ではリテラル結果要素根要素として使うことができます >>33。 すなわち、 XSLT 以外の名前空間要素根要素にできます。ただしその場合 xsl:version 属性が必須となっています >>33。 なお、 text/xmlapplication/xml など XSLT だと断定できない場面ではこの方法を使用するべきではないとされています >>33

[28] 根要素として使える主な要素

[35] 根要素の一覧データは manakai/data-web-defs ( 版) https://github.com/manakai/data-web-defs/ の elements.json に含まれています。

document.documentElement (DOM)#

[6] Document オブジェクトdocumentElement 属性は、文書要素を返さなければなりません >>10

仕様書#

歴史#

:root 疑似クラス#

[15] :root文書である要素を表します >>9

仕様書#

歴史#

選択子3#

[17] 選択子3の最初の公開案である >>16 には既に :root が含まれていました。

メモ#

[3] Matching :root in Document Fragments (Lachlan Hunt 著, 版) http://lists.w3.org/Archives/Public/www-style/2007Jun/0116.html (名無しさん 2007-06-21 15:17:56 +00:00)

関連#

[14] 文書要素根要素要素だけの木構造を考えると最上位にあり、 ですが、文書節点も含めた文書全体の構造の中では文書節点子供であるため、 ではありません。要素ではなく節点と呼ぶと文書全体のを指すため、 文書要素とは違う意味になります。

歴史#

[7] Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7 ( 版) https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd

[36] HTML Standardroot element of a Document object の定義は2016年3月に削除されました >>7