* 根要素 - [1] 【[[SGML]]】 [[要素木]]の一番根元に当たる[[要素]]。すなわち[[文書要素]]であり、 [[SGML文書]]には必ず、それもちょうど1つだけ存在する。 Root element。 - [2] その名の通り[[文書]]の木構造の一番大元となる要素なのですが、実際には文書要素の外に[[文書型宣言]]や[[処理指令]]や[[注釈]]があったりもします。それらも含めてモデル化すると、根要素よりも更に上位の階層が出現することがあります。[WEAK[(例えば [[XPath]] では[[根節]]があり、根要素はその子供です。)]] * 文書要素 [13] [[文書要素]]は、[[文書]]の[[要素木]]におけるもっとも上側 (外側) にある、 [[文書]]の[[子供]]であるような[[要素]]です。[[文書]]は直接の[[子要素]]を1つだけ持てるので、 (正常な状態では) [[文書要素]]は1つだけ存在します。[[文書要素]]は[[根要素]]と同じものとなります。 ** 仕様書 [REFS[ - [11] [CITE@en-US[DOM4]] ([TIME[2011-09-26 12:32:56 +09:00]] 版) ]REFS] ** DOM における定義 [12] [DFN[[RUBYB[[[文書要素]]]@en[document element]]]]は、[[文書]]が[[親]]である[[要素]]があればそれ、なければ [[null]] です。 このような[[要素]]は[[文書]]中にたかだか1つだけ存在します。 [SRC[>>11]] ** SGML における定義 [FIG[ [2] > :[DFN[[RUBYB[文書要素]@en[document element]]]]: [[文書型]]の[[実現値]]の最も外側にある[[要素]]であって、 その要素の[[共通識別子]]となる[[文書型名]]をもつ要素。 [FIGCAPTION[ [[JIS X 4151]]‐1992 3. (240) ]FIGCAPTION] ]FIG] [4] 文書要素は[[根要素]]とも呼ばれます。 [5] [[SGML]] の文書要素の[[終了タグ]]って省略不能なの? 終了タグがないとどこで文書が終わるのか不明だとかいう説があるし、 規格の参考とかでもなんだかそんな雰囲気が漂ってる。 だけど実際問題、 [[HTML]] では [CODE(HTMLe)[[[html]]]] 要素は終了タグ省略可能だしなあ。 それに文書の終りは文書要素の終了タグじゃなくて[[ファイル]]なり[[記録]]群なりの最後のところだろうし。 * [CODE(JS)@en[document.documentElement]] (DOM) [6] [CODE(DOMi)@en[[[Document]]]] [[オブジェクト]]の [CODE(DOMa)@en[[[documentElement]]]] [[属性]]は、[[文書要素]]を返さ[['''なければなりません''']] [SRC[>>10]]。 ** 仕様書 [REFS[ - [10] [CITE@en-US[DOM4]] ([TIME[2011-09-26 12:31:14 +09:00]] 版) ]REFS] ** 歴史 [REFS[ -[8] [DOM1] [CITE@en[Document Object Model (Core) Level 1]] ]REFS] * [CODE(CSS)@en[:root]] 疑似クラス [15] [DFN[[CODE(CSS)@en[[[:root]]]]]] は[[文書]]の[[根]]である[[要素]]を表します [SRC[>>9]]。 ** 仕様書 [REFS[ - [9] [CITE@en[Selectors Level 3]] ([TIME[2009-12-14 23:41:18 +09:00]] 版) ]REFS] ** メモ [3] [CITE@en[Matching :root in Document Fragments]] ([[Lachlan Hunt]] 著, [TIME[2007-06-21 23:31:00 +09:00]] 版) ([[名無しさん]] [WEAK[2007-06-21 15:17:56 +00:00]]) * 関連 [14] [[文書要素]]・[[根要素]]は[[要素]]だけの[[木構造]]を考えると最上位にあり、 [[根]]ですが、[[文書節点]]も含めた[[文書]]全体の構造の中では[[文書節点]]の[[子供]]であるため、 [[根]]ではありません。[[根''要素'']]ではなく[[根''節点'']]と呼ぶと[[文書]]全体の[[根]]を指すため、 [[文書要素]]とは違う意味になります。