[13] 文書要素は、文書の要素木におけるもっとも上側 (外側) にある、 文書の子供であるような要素です。文書は直接の子要素を1つだけ持てるので、 (正常な状態では) 文書要素は1つだけ存在します。文書要素は根要素と同じものとなります。
[12] 文書の文書要素は、 当該文書が親であるような要素か、それがなければ null です >>37。
[5] SGML の文書要素の終了タグって省略不能なの?
終了タグがないとどこで文書が終わるのか不明だとかいう説があるし、
規格の参考とかでもなんだかそんな雰囲気が漂ってる。
だけど実際問題、 HTML では
html
要素は終了タグ省略可能だしなあ。
それに文書の終りは文書要素の終了タグじゃなくてファイルなり記録群なりの最後のところだろうし。
[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とするような要素が使えます。
[34] XSLT ではリテラル結果要素を根要素として使うことができます >>33。
すなわち、 XSLT 以外の名前空間の要素を根要素にできます。ただしその場合
xsl:version
属性が必須となっています >>33。
なお、 text/xml
や application/xml
など XSLT だと断定できない場面ではこの方法を使用するべきではないとされています >>33。
[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] 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 Standard の root element of a Document
object
の定義は2016年3月に削除されました >>7。