* 仕様書

[REFS[
- [11] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#initialise-the-document-object>
- [47] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#unloading-documents>
- [48] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-04-25 04:40:19 +09:00]] 版) <https://html.spec.whatwg.org/#garbage-collection-and-browsing-contexts>
- [49] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-03-31 07:16:44 +09:00]] 版) <https://html.spec.whatwg.org/#dom-window>
]REFS]

* 適合性

[85] [[著者]]が作成する[[文書]]の[[適合性]]については、
[[文書の適合性]]を参照。

* [CODE(DOMi)@en[Document]] オブジェクト (DOM)

[2] [CODE(DOM)[Document]] 界面は、 [[HTML]] 又は [[XML]]
の文書自体を表します。

[CODE(DOM)[Document]] は、
文書中の全ての[[節]]の大元の[[根]]です。新しい節を作るには、
[CODE(DOMi)[Document]] の method を使うことが出来ます。

[1] [RUBYB[文書節] [Document node]]の子になれる[[節]]は:
:[[Element]]:最大1個 [DOM1]
:[[ProcessingInstruction]]:[DOM1]
:[[Comment]]:[DOM1]
:[[DocumentType]]:[DOM1]

[3] [[DOM0]] の [[JavaScript]] 束縛 (HTML の [[script]]
要素の中などで使う場合。) では、物体
[CODE(JS)[window.document]] が当該窓で表示中の文書を表します。 
この [CODE(JS)[document]] 物体は DOM の [CODE(DOMi)[Document]]
界面の実現値です。

DOM の[[節]]の [CODE(DOMattr)[[[ownerDocument]]]]
は、その節が所属する文書 ([CODE(DOM)[Document]])
を返します。
- [5] [CODE(DOM)[Document]] 物体を作る方法は、 DOM 1 の範囲ではありません。 DOM 2 [WEAK[(で、 HTML のみの実装でない)]] なら、 [CODE[[VAR(DOMi)[[[DOMImplementation]]]].[CODE(DOMmethod)[[[createDocument]]]]]] で作成できます。
- [6] >>5 その他にも、実装によってそれぞれ [CODE(DOM)[Document]] 物体を作ったり取得したりする方法があるかもしれません。例えば、 [[DOM0]] では、 [CODE(JS)[[CODE(DOM)[window]].[CODE(DOMattr)[document]]]] などが使えます。
- [7] [[WWWブラウザ]]のような実装では、 [CODE(DOM)[Document]] 物体で [CODE(DOMi)[Document]] 界面のみならず [CODE(DOMi)[[[DocumentView]]]] 界面も実装されていることが期待されます。

** 仕様書

[REFS[
- [10] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-03-05 09:33:40 +09:00]] 版) <https://html.spec.whatwg.org/#concept-document-window>
- [29] [CITE@en[Touch Events]] ([TIME[2013-10-12 10:35:42 +09:00]] 版) <https://dvcs.w3.org/hg/webevents/raw-file/v1/touchevents.html#h2_extensions-to-the-document-interface>
]REFS]

** 状態

[9] 次の状態を持ちます。
[FIG(list members)[
:[[文書の型]]:[[HTML文書]]か[[XML文書]]のいずれか。
:[[文書のモード]]:[[無奇癖モード]]、[[限定奇癖モード]]、[[奇癖モード]]のいずれか。
:[CODE(DOMi)@en[[[XMLDocument]]]]:[CODE(DOMi)@en[[[XMLDocument]]]] [[インターフェイス]]を[[実装]]しているかどうか。
:[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]:[CODE(HTMLa)@en[[[srcdoc]]]]
[[属性]]から作られたかどうか。
:[[プラグイン文書]]:[[プラグイン]]によって表示される[[資源]]への [[navigate]]
で作成されたかどうかのフラグ。
:[[文書の番地]]:[[文書]]自身の [[URL]]。
: [F[フォールバック基底URL]] : [F[文書基底URL]]などの決定に使われる値です。
: [F[文書基底URL]] : 本[[文書]]中の[[URL]]の[[解決]]で[[基底URL]]として使われる値です。
: [F[起源][文書の起源]] :
: [F[文書の示された部分]] : [[素片識別子]]が指すものです。
: [F[対象要素]] : [CODE(CSS)@en[:target]] の[[要素]]です。
: [F[参照元]] : [CODE(HTTP)@en[Referer:]] [[ヘッダー]]で使った値です。
[CODE(JS)@en[document.referrer]] が返す値となります。
: [F[参照元ポリシー]] :
:[[内容型]]:[[文書]]の [[MIME型]]。
:[35] [F[[[SVG]] [[navigate]] フラグ]] :
[CODE(DOMm)@en[[[getSVGDocument]]]] においては、
[[navigate]] において [[sniffed type]] が [CODE(MIME)@en[[[image/svg+xml]]]]
だったため作られた [CODE(DOMi)@en[[[Document]]]] かどうかで、
動作が変わります。
:[[[VAR[文書]]の[F[文字符号化]]]]:[[文書]]の[[文字符号化]]。
:[F[補正済み言語情報]]:
:[[関連付けられた[CODE(DOMi)@en[Window]]]]:[[閲覧文脈]]中にある[[文書]]が持ちます [SRC[>>10]]。
[CODE(DOMi)@en[[[Document]]]] は、 [CODE(DOMi)@en[[[Window]]]] への[[強い参照]]を持ちます [SRC[>>48]]。
:[[関連付けられた不活性雛形文書]]:
:[[適切な雛形内容所有子文書]]:
:[[構文解析器]]:
: [F[[[活性構文解析器]]]] :
: [F[[[活性構文解析器がabortされた]]]] :
:[[挿入点]]:[[構文解析器]]の[[入力ストリーム]]中の位置または[[未定義]]です。
[CODE(JS)@en[[[document.write]]]] で使われます。
:[[現在文書準備度]]:
:[[delay the load event]]:[[delay the load event]] 中のものの数を表します。初期値は0です。
:[[ready for post-load tasks]] 状態:
:[[completely loaded]] 状態:
: [F[[[completely loaded]] から起算する[[タイマー]]群]] :
: [F[print when loaded]] :
[CODE(JS)@en[[[window.print]]]] を[[構文解析器]]の終了後まで遅延させるためのフラグです。
:[F[[[HTTPS状態]]]]: 本[[文書]]の取得時の [[TLS]] に関する状態が設定されます。
:[F[[[CSPリスト]]]]: 本[[文書]]に関わる [[CSP]] の設定が含まれます。
:[[active sandboxing flag set]]:
:[[セッション履歴]]:[[文書]]を表す[[セッション履歴エントリー]]が含まれる[[セッション履歴]]。 [CODE(DOMi)@en[[[History]]]] [[オブジェクト]]から参照される。
:[CODE(DOMi)@en[[[History]]]]:[[閲覧文脈]]の[[セッション履歴]]を表すもの。[[文書]]ごとに存在する。
:[[最新エントリー]]:[[セッション履歴エントリー]]のうち最新のもの。存在しないこともある。
:[[イベントループ]]:[[閲覧文脈]]中にある[[文書]]の場合、[[活性文書]]である時その[[閲覧文脈]]が属する[[関係する類似起源閲覧文脈の単位]]の[[イベントループ]]。
: [F[アニメーションフレームコールバックのリスト]] :
: [F[アニメーションフレームコールバック識別子]] :
:[[''salvageable'']] フラグ:初期値は[[真]] [SRC[>>47]]。
:[[fired unload]] フラグ:初期値は[[偽]] [SRC[>>47]]。
:[[unload a document]] 呼び出し済みフラグ:初期値は[[偽]]。[CODE(JS)@en[[[document.open]]]]
で参照されます。
:[[page showing]] フラグ:[CODE(DOMe)@en[[[pageshow]]]] と [CODE(DOMe)@en[[[pagehide]]]]
の整合性を保つために使います [SRC[>>47]]。初期値は[[偽]] [SRC[>>47]]。
:[[可視性状態]]: [[文書]]が[[画面]]内にあるかどうかの状態です。
:[F[ignore-opens-during-unload counter]]:[CODE(JS)@en[[[document.open]]]] を抑制させるフラグです。
:[F[ignore-destructive-writes counter]]:[CODE(JS)@en[[[document.write]]]] を抑制させるフラグです。
:[F[throw-on-dynamic-markup-insertion counter]]: [CODE(JS)@en[document.open]]
を抑制させるフラグです。
:[[fetch]] 群:本[[文書]]に関して行われた [[fetch]]。すなわち、[[文書のabort]]で停止されるべき [[fetch]] です。
:[[iframe load in progress]] フラグ:
:[[mute iframe load]] フラグ:
:[[ワーカー]]群:[[ワーカーの[CODE(DOMi)@en[Document]]群]]の逆方向の関係のリストです。
([[文書を捨てる]]時に使います。)
: [F[[[完全に活性]]]] :
: [F[[[文書の閲覧文脈]]]] :
: [F[[[子供閲覧文脈]]群]] : 本[[文書]]を[[通して入れ子]]な[[子供閲覧文脈]]のリストです。
: [F[[[子孫閲覧文脈]]のリスト]] :
: [F[[[list of scripts that will execute when the document has finished parsing]]]] :
: [F[[[list of scripts that will execute in order as soon as possible]]]] :
: [F[[[set of scripts that will execute as soon as possible]]]] :
: [F[[[pending parsing-blocking script]]]] :
: [F[[CODE(DOMa)@en[[[currentScript]]]]]] :
: [F[モジュール写像]] :
[[モジュールスクリプトのfetch]]で参照される[[モジュール写像]]です。
: [F[文書要素]] :
: [F[[[文書[CODE(HTMLe)@en[head]]要素]]]] :
: [F[[[文書[CODE(HTMLe)@en[body]]要素]]]] :
: [F[時刻起源]] :
: [F[これから宣言的に更新する]] :
: [F[allowpaymentrequest flag]] :
: [F[allowusermedia flag]] :
: [F[[CODE[designMode]]]] :
: [F[応用キャッシュ]] :
: [F[埋め込んでいる文書]] :
: [F[厳密混合内容検査フラグ]] :
: [F[厳密モード]] :

[HISTORY[
:[CODE(DOMi)@en[[[Location]]]]: ([CODE(DOMi)@en[[[Window]]]] へ)
:[[実効スクリプト起源]]: ([F[起源][文書の起源]]と統合)
:[CODE(JS)@en[[[document.domain]]]]:[[文書のドメイン]]または[[著者]]が指定した値。
([F[文書のドメイン]]へ)
: [F[[[文書のドメイン]]]] :
([F[起源][文書の起源]]と統合)
: [F[enabled fullscreen flag]] :[[子供閲覧文脈]]を[[全画面表示]]できるかどうか。
: [F[user media enabled flag]]  :
: [F[reload override flag]] :
[CODE(JS)@en[[[document.open]]]] により[[文書]]が開かれたことを表します。
: [F[reload override buffer]] :
[CODE(JS)@en[[[document.open]]]] で作られた[[文書]]の[[ソース]]です。

]HISTORY]
]FIG]

* メンバー

[33] [CODE(DOMi)@en[[[Document]]]] の中には、それを[[継承]]する[[インターフェイス]]である
[CODE(DOMi)@en[[[XMLDocument]]]] を[[実装]]するものもあります。

;; [34] [[XML文書]]がすべて [CODE(DOMi)@en[[[XMLDocument]]]] になるわけではありません。
限られた方法で作ったもののみが [CODE(DOMi)@en[[[XMLDocument]]]] となります。

[18] [CITE[Results for document (an HTML document object)]] ([TIME[2009-02-28 14:01:23 +09:00]] 版) <https://suika.suikawiki.org/gate/test-results/list/enum-document/all>
もご覧ください。

[FIG(short list)[
[4] [CODE(DOMi)@en[[[Node]]]],
[CODE(DOMi)@en[[[EventTarget]]]],
[CODE(DOMi)@en[[[DocumentView]]]],
[CODE(DOMi)@en[[[DocumentWindow]]]],
[CODE(DOMi)@en[[[DocumentCSS]]]],
[CODE(DOMi)@en[[[DocumentTraversal]]]],
[CODE(DOMi)@en[[[HTMLDocument]]]],
[CODE(DOMi)@en[[[SVGDocument]]]],
[CODE(DOMi)@en[[[MathMLDocument]]]]
,[CODE(DOMa)@en[[[activeElement]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[addBinding]]]]
,[CODE(DOMm)@en[[[adoptNode]]]],[[DOM3]]
,[CODE(DOMa)@en[[[alinkColor]]]],[[DOM0]]
,[CODE(DOMa)@en[[[all]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[anchors]]]],
,[CODE(DOMa)@en[[[applets]]]],[[HTML5]]
,[CODE(DOMm)@en[[[attachEvent]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[baseUrl]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMm)@en[[[captureEvents]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMa)@en[[[charset]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[classes]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMm)@en[[[clear]]]]	,[CODE(DOMi)@en[[[Document]]]] ([[WinIE 3]])
,[CODE(DOMa)@en[[[compatMode]]]]
,[CODE(DOMa)@en[[[contentType]]]],[[DOM0]]
,[CODE(DOMm)@en[[[contextual]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMa)@en[[[cookie]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMm)@en[[[createDocumentFromUrl]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
- [CODE(DOMm)@en[createElement]]
- [CODE(DOMm)@en[createElementNS]]
,[CODE(DOMm)@en[[[CreateEventObject]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMm)@en[[[createExpression]]]],[[Gecko]]
,[CODE(DOMm)@en[[[createNodeIterator]]]],[[DOM2]]
,[CODE(DOMm)@en[[[createNSResolver]]]],[[DOM3]]
,[CODE(DOMm)@en[[[createRange]]]],[[DOM2]]
,[CODE(DOMm)@en[[[createRenderStyle]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMm)@en[[[createStyleSheet]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
- [CODE(DOMm)@en[[[createTouch]]]]
- [CODE(DOMm)@en[[[createTouchList]]]]
,[CODE(DOMa)@en[[[defaultCharset]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
- [CODE(DOMa)@en[designMode]]
,[CODE(DOMm)@en[[[detachEvent]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[dir]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,読取専用属性	,[[doctype]]	,文書型	,[DOM1]
,[CODE(DOMa)@en[[[domain]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.1]])
,[CODE(DOMm)@en[[[elementFromPoint]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[enableDownload]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMm)@en[[[enableStyleSheetsForSet]]]],[[CSSOM]]
,[CODE(DOMm)@en[[[evaluate]]]]
,[CODE(DOMm)@en[[[execCommand]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[execCommandShowHelp]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
- [CODE(DOMm)@en[exitPointerLock]]
,[CODE(DOMa)@en[[[expando]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[fgColor]]]],[[HTML5]]
,[CODE(DOMa)@en[[[fileCreatedTime]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[fileModifiedTime]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[fileUpdatedTime]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[FireEvent]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[all]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[fileSize]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[focus]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMm)@en[[[getAnonymousElementByAttribute]]]],[[Gecko]]
,[CODE(DOMm)@en[[[getAnonymousNodes]]]],[[Gecko]]
,[CODE(DOMm)@en[[[getBindingParent]]]],[[Gecko]]
,[CODE(DOMm)@en[[[getBoxObjectFor]]]],[[Gecko]] (非推奨)
,[CODE(DOMm)@en[[[getElementsByClassName]]]],[[HTML5]]
,[CODE(DOMm)@en[[[getItems]]]]
,[CODE(DOMa)@en[[[getSelection]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMm)@en[[[handleEvent]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMa)@en[[[height]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
- [CODE(DOMa)@en[[[hidden]]]]
,[CODE(DOMa)@en[[[ids]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,読取専用属性	,[[implementation]]	,DOM 実装	,[DOM1]
,読取専用属性	,[[documentElement]]	,文書要素	,[DOM1]
,method	,[[createDocumentFragment]]	,文書断片作成	,[DOM1]
,method	,[[createTextNode]]	,文節作成	,[DOM1]
,method	,[[createComment]]	,注釈作成	,[DOM1]
,method	,[[createCDATASection]]	,文字データ区間作成	,[DOM1]
,method	,[[createProcessingInstruction]]	,処理指令作成	,[DOM1]
,method	,[[createAttribute]]	,属性作成	,[DOM1]
,method	,[[createAttributeNS]]	,属性作成	,[DOM2]
,method	,[[createEntityReference]]	,実体参照作成	,[DOM1]
,[CODE(DOMm)@en[[[focus]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,method	,[[getElementById]]	,識別子による子要素取得	,[DOM2]
,method	,[[getElementsByTagName]]	,要素型名による子要素取得	,[DOM1]
,method	,[[getElementsByTagNameNS]]	,要素型名による子要素取得	,[DOM2]
,[CODE(DOMm)@en[[[hasFocus]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[inheritStyleSheets]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[lastStyleSheetSet]]]],[[CSSOM]]
,[CODE(DOMa)@en[[[lastModified]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMm)@en[[[loadBindingDocument]]]],[[Gecko]]
,[CODE(DOMa)@en[[[location]]]]	,"[CODE(DOMa)@en[[[document]]]] ([[JavaScript]] [[非推奨]], [[WinIE 3]])"
,[CODE(DOMa)@en[[[media]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[mimeType]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[nameProp]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[namespaces]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onactivate]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onafterupdate]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onbeforeactivate]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onbeforedeactivate]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onbeforeeditfocus]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onbeforeupdate]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[oncellchange]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onclick]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[oncontextmenu]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[oncontrolselect]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[ondataavailable]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[ondatasetchanged]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[ondatasetcomplete]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[ondblclick]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[ondeactivate]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[ondragstart]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onerrorupdate]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onfocusin]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onfocusout]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onhelp]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onkeydown]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[onkeypress]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[onkeyup]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[onload]]]],[[Opera]]
,[CODE(DOMa)@en[[[onmousedown]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[onmouseup]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[onmousewheel]]]]	,[CODE(DOMi)@en[[[HTMLDocument5]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onpropertychange]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onreadystatechange]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
- [CODE(DOMm)@en[removeBinding]]
- [CODE(DOMa)@en[onpointerlockerror]]
- [CODE(DOMa)@en[onpointerlockchange]]
,[CODE(DOMa)@en[[[onrowexit]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onrowenter]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onrowsdelete]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onrowsinserted]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onselectionchange]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onselectstart]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[onstop]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[parentDocument]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[parentWindow]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[plugins]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.1]])
,[CODE(DOMm)@en[[[postMessage]]]]
,[CODE(DOMa)@en[[[preferredStyleSheetSet]]]],[[CSSOM]]
,[CODE(DOMa)@en[[[protocol]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandEnabled]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandIndeterm]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandState]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandSupported]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandText]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[queryCommandValue]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMm)@en[[[recalc]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[readyState]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[referrer]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMm)@en[[[releaseCapture]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMm)@en[[[releaseEvents]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMm)@en[[[removeBinding]]]],[[Gecko]]
,[CODE(DOMm)@en[[[routeEvent]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMa)@en[[[security]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[selection]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[selectedStyleSheetSet]]]],[[CSSOM]]
,[CODE(DOMm)@en[[[setBoxObjectFor]]]]
,[CODE(DOMa)@en[[[styleSheets]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[styleSheetSets]]]],[[CSSOM]]
,[CODE(DOMa)@en[[[tags]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,[CODE(DOMa)@en[[[text]]]]
,[CODE(DOMa)@en[[[uniqueID]]]]	,[CODE(DOMi)@en[[[HTMLDocument3]]]] ([[Trident]])
,[CODE(DOMa)@en[[[URL]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]])
,[CODE(DOMa)@en[[[url]]]]	,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]])
,[CODE(DOMa)@en[[[URLUnencoded]]]]	,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]])
- [CODE(DOMa)@en[[[visibilityState]]]]
- [CODE(DOMa)@en[[[mozVisibilityState]]]]
- [CODE(DOMa)@en[[[msisibilityState]]]]
- [CODE(DOMa)@en[[[webkitVisibilityState]]]]
,[CODE(DOMa)@en[[[width]]]]	,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
]FIG]

Related:
[CODE(DOMi)@en[[[HTMLDocument]]]],
[CODE(DOMi)@en[[[SVGDocument]]]],
[CODE(DOMi)@en[[[DocumentTraversal]]]]

- [8] [CODE(DOMm)[getElementById]]
は DOM 1 では [CODE(DOMi)[[[HTMLDocument]]]] 界面にありましたが、
DOM 2 で移動してきました。

[12]
[CITE@en[DOM Client Object Cross-Reference:document - MDC]] ([CODE[2006-01-30 05:13:37 +09:00]] 版) <http://developer.mozilla.org/en/docs/DOM_Client_Object_Cross-Reference:document>
([[名無しさん]])

[[#comment]]


** [CODE(DOMi)[Document]] 物体が実装し得る界面

[9] [CODE(DOMi)[Document]] 物体が実装しているかもしれない[[界面]]には、
次のようなものがあります。
:[CODE(DOMi)[Document]]:DOM水準1〜3
:[CODE(DOMi)[[[DocumentView]]]]:DOM水準2
:[CODE(DOMi)[[[DocumentEvent]]]]:DOM水準2〜3
:[CODE(DOMi)[[[DocumentStyle]]]]:DOM水準2
:[CODE(DOMi)[[[DocumentCSS]]]]:DOM水準2
:[CODE(DOMi)@en[[[DocumentTouch]]]]:[[Touch Events]] (旧)

など

** 参考文献

- [DOM1] ''Document Object Model (Core) Level 1'' <http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#i-Document>
- [DOM2] ''Document Object Model Core'' <http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#i-Document>

[13]
[[Opera]] 9 は、 [[XML]] [[文書]]の[[文書要素]]の外の[[空白]]を
[CODE(DOMi)@en[[[Text]]]] [[節点]]として残すようです。

* 生成

[36] [[文書]]が作成される場面には、次のものがあります。

[FIG(table)[
:x:処理・種別
:input: 入力
:html:[[HTML文書]]/[[XML文書]]
:mime: [F[内容型][contentType]]
:xmldoc:[CODE(DOMi)@en[[[XMLDocument]]]]
:origin:[F[起源][文書の起源]]
:url: [F[番地][文書の番地]]

:x:[[navigate]] ([[URL]])
:html:[[Content-Typeメタデータ]]次第
:xmldoc:×
:origin:[[資源]]依存
:effective:[[資源]]依存
:mime: [[Content-Typeメタデータ]]次第
:url: 最後の[[応答]]の [[URL]]
:input: [[バイト列]]

:x: [[navigate]] ([[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]])
:html: [[HTML文書]]
:xmldoc: ×
:mime: [CODE(MIME)@en[text/html]]
:url: [CODE(URI)@en[about:srcdoc]]
:origin: [[親閲覧文脈]] [CODE(HTMLa)@en[sandbox]] による
:#input: ?

:x: [[navigate]] ([[XSLT]])
:input: [[XSLT]]

:x:[[関連付けられた不活性雛形文書]]
:html:元の[[文書]]と同じ
:xmldoc:×
:origin: 新しい[[不透明起源]]
:input: なし

:x:[[HTML Imports]]
:html:[[HTML文書]]
:xmldoc:×
:origin:
:input: [[バイト列]]

:x:[CODE(JS)@en[[[new Document]]]]
:xmldoc:×
:html:[[XML文書]]
:origin: [[大域オブジェクト]]の[F[文書]]の[F[起源][文書の起源]]
:mime: [CODE(MIME)@en[application/xml]]
:input: なし

:x:[CODE(DOMa)@en[[[responseXML]]]]
:xmldoc:×
:html:[[Content-Typeメタデータ]]次第
:origin: [[文脈オブジェクト]]の[F[設定群オブジェクト]]と同じ
:effective: [[文脈オブジェクト]]の[F[設定群オブジェクト]]と同じ
:mime: [[Content-Typeメタデータ]]と [CODE(DOMa)@en[overriddenMimeType]] 次第
:input: [[バイト列]]

:x:[CODE(DOMm)@en[[[createDocument]]]]
:xmldoc:○
:html:[[XML文書]]
:origin: [[文脈オブジェクト]]の[F[文書]]の[F[起源][文書の起源]]
:mime: [[文書要素]]次第
:input: なし

:x:[CODE(DOMm)@en[[[createHTMLDocument]]]]
:xmldoc:×
:html:[[HTML文書]]
:origin: [[文脈オブジェクト]]の[F[文書]]の[F[起源][文書の起源]]
:mime: [CODE(MIME)@en[text/html]]
:input: なし

:x:[CODE(DOMm)@en[[[parseFromString]]]]
:xmldoc:○
:html:[[MIME型]]次第
:origin: 新しい[[不透明起源]]
:mime: [[引数]]次第
:input: [[文字列]]

:x:[CODE(DOMm)@en[[[transformToDocument]]]]
:html:[CODE(XMLe)@en[[[xslt:output]]]] 次第
:origin: 新しい[[不透明起源]]
:input: [[XSLT]]

:x:[[初期[CODE(URI)@en[about:blank]]文書]]
:xmldoc:×
:html:[[HTML文書]]
:origin:[[作成子[CODE(DOMi)@en[Document]]]]依存
:effective:[[作成子[CODE(DOMi)@en[Document]]]]依存
:url: [CODE(URI)@en[about:blank]]
:input: なし

:x:[[clone]]
:html:元と同じ
:origin: 元と同じ
:xmldoc: 元と同じ
:mime: 元と同じ
:url: 元と同じ
:input: [[DOM]]
]FIG]

;; [37] [CODE(DOMm)@en[[[innerHTML]]]] など素片構文解析アルゴリズムでも[[文書]]が作られますが、
[[スクリプト]]から観測することはできません。

* 廃棄

[46] [[文書]]の廃棄の処理やそれを試みる処理は色々あります。
[FIG(short list)[
- [[prompt to unload a document]]
- [[unload a document]]
- [[文書のabort]]
- [[文書を捨てる]]
- [[閲覧文脈から文書への強い参照を破棄]]
]FIG]

* 文書の分類

[FIG(short list)[ [44] [[文書]]の分類
- [[HTML文書]]
- [[XML文書]]
- [[テキスト文書]]
- [[プラグイン文書]]
- [[媒体文書]]
- [[unstyled document]]
- [[初期「[CODE(URI)@en[about:blank]]」文書]]
]FIG]

* 文脈

[45] [[文書]]は色々な場面で使われます。
[FIG(short list)[
- [[活性文書]]
]FIG]

* [CODE(DOMi)@en[Window]] インターフェイス [CODE(DOMa)@en[document]] 属性

[42] [CODE(DOMi)@en[Window]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[document][window.document]]]] [[IDL属性]]の[[取得器]]は、
次のようにしなければ[MUST[なりません]] [SRC[>>49]]。

[FIG(steps)[
= [53] [[文脈オブジェクト]]の[F[関連付けられた文書]]を返します。
]FIG]

[55] この[[IDL属性]]は、 [CODE(IDL xattr)@en[Unforgeable]] です [SRC[>>49]]。

[54] [[文書環境]]の [[JavaScript]] [[ソースコード]]で単に [CODE(JS)[document]]
と書いて[[文書]]にアクセスできるのは、本 [[IDL属性]]が呼び出されるからです。

-*-*-

[66] [CODE(DOMi)@en[Window]] [[オブジェクト]]は、
[DFN[[F[[RUBYB[関連付けられた [CODE(DOMi)@en[Document]]]@en[associated [CODE(DOMi)@en[Document]]]]][associated Document]]]]を持ちます
[SRC[>>49]]。

[43] [CODE(JS)@en[window.document]] の値は、普通は作成時に作られてから変化しません。
例外的に、[[初期[CODE(URI)@en[about:blank]]文書]]と共に作られた
[CODE(DOMi)@en[Window]] [[オブジェクト]]の場合には、
[[文書オブジェクトの初期化]]の際に変更されることがあります。

;; [64] 詳しくは[[活性文書の設定]]を参照。

* 歴史

** SGML

[FIG(quote)[
[FIGCAPTION[
[59] [[JIS X 4151]]‐1992 3.
]FIGCAPTION]

>
:(229) 文書 (document):
1単位として処理される[[情報]]の集まりを記述したもの。
]FIG]

[FIG(quote)[
[FIGCAPTION[
[60] [[ISO/IEC 10744]]:1997 [CSECTION[3 Definitions]]
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-3.html#def-3.23>
]FIGCAPTION]

>
:3.23 [RUBYB[文書][document]]:
1単位として識別され、[[人間]]が知覚することを想定した[[情報]]の[[集成]]。
]FIG]

** XML

[FIG(quote)[
[FIGCAPTION[
- [[XHTML 1.0]]
--[CITE[2.2. General Terms]]
<IW:XHTML10:"general">
]FIGCAPTION]

>
:[RUBYB[文書][document]]:
[[文書]]は[[データ]]の[RUBYB[流れ][stream]]であって、
その参照する任意の他の流れと[[結合]]することによって、
関連付けられた [[DTD]]
で定義されている形で組織化された[[要素]]中に含まれる[[情報]]を持つよう構造化されているものです。
]FIG]

[FIG(quote)[
[FIGCAPTION[
[61] [CITE@en-US[Service Modeling Language, Version 1.1]] ([TIME[2009-05-12 17:50:10 +09:00]] 版) <http://www.w3.org/TR/2009/REC-sml-20090512/#document>
]FIGCAPTION]

>
:Document:    A well-formed XML document, as defined in [XML].
]FIG]

** DOM2 [CODE(DOMi)@en[DocumentView]]

[50] [[DOM View]] の [DFN[[CODE(DOMi)[[[DocumentView]]]]]]
界面は、 [CODE(DOM)[[[Document]]]] 物体に実装されて、
文書物体から view 物体への access となるものです。

[51] [CODE(DOMa)@en[[[defaultView]]]] [[IDL属性]]のみがありました。

[52] この界面が実装されているかは、 [CODE(DOMm)[[[hasFeature]]]]
で [CODE(DOM)[View]]/[CODE(DOM)[2.0]] で確認出来ます。

-*-*-

[72] [[DOM]] [CODE[[VAR(DOMi)[[[AbstractView]]]].[CODE(DOMa)[document]]]]
属性の値は、その view の対象である文書 
([CODE(DOMi)[[[DocumentView]]]]) です。
この属性は読取専用です。

[73] この属性の初出は [[DOM 2]] View です。 
[CODE(DOMm)[[[hasFeature]]]] では 
[CODE(DOM)[View]]/[CODE(DOM)[2.0]] で実装の有無を確認出来ます。

[REFS[
- [74] ''Document Object Model Views'' <http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-DocumentView>
- [75] ''Document Object Model Views'' <http://www.w3.org/TR/DOM-Level-2-Views/views.html#Views-AbstractView-document>
]REFS]

[76] [CITE[一行で IE の JavaScript を高速化する方法 - IT戦記]] ([TIME[2008-10-31 23:01:04 +09:00]] 版) <http://d.hatena.ne.jp/amachang/20071010/1192012056>

[77] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-08-31 23:45:20 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=3713&to=3714>

[78] [CITE@en[Web Applications 1.0 r6115     Change how document'''''''''['''''''''name''''''''']''''''''' works to be compatible with both IE (which typically are targetted with <object>) and other UAs (which typically are targetted with <embed>).]]
( ([TIME[2011-05-07 08:23:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6114&to=6115>

[79] [CITE@en[Web Applications 1.0 r6771 A first pass (for this quarter, anyway) at cleaning up some terminology around the word 'document'.]]
( ([TIME[2011-10-28 05:02:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6770&to=6771>

[80] [CITE@en[Web Applications 1.0 r7845     Match reality better. (Turns out parts of the spec already assumed this was defined this way anyway.)]]
( ([TIME[2013-04-23 02:40:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7844&to=7845>

[81] [CITE@en[Web Applications 1.0 r8097 Add more cross references to the new 'concept-window-document' thing, and clean up <frameset>'s event definitions (I always forget to update that when I'm updating <body>'s...).]]
( ([TIME[2013-07-28 00:48:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8096&to=8097>


[96] 
[[CEA-2014-B]]

[CODE[DocumentCSS]]

** 根節点 (XPath 1.0 データ・モデル)

[14] [[XPath 1.0データ・モデル]]では、
[[XML]][[文書]]に対応する[[木]]構造のうちの最上位にある[[節点]]が[DFN[[RUBYB[根節点]@en[root node]]]]です。

;; 
[[XPath 1.0]] や [[XSLT 1.0]] の[[データ・モデル]]では[[根節点]]といいますが、
[[DOM]]では「[[文書節点]]」 ([CODE(DOMi)@en[[[Document]]]][[節点]])、
[[XML情報集合]]では「[[文書情報項目]]」、
[[XPath 2.0]] や [[XSLT 2.0]] の [[XDM]] では「[[文書節点]]」と呼んでいます。
[[XDM]] では「[[根節点]]」は[[木]]の[[根]]のことをいいます。

*** 仕様書

-[15]  [[XSLT 1]]
-- <IW:XSLT1:"#root-node-children">

*** 親節点

[5]
[[根節点]]は、[[親節点]]を持ちません。

*** 子供節点

[6]
[[XPath 1.0]][[データ・モデル]]では、[[根節点]]の[[子供]]となるのは丁度1個の[[文書要素]]の[[要素節点]]と、零個以上の[[注釈節点]]や[[処理指令節点]]です。

;; [[XPath 1.0]][[データ・モデル]]には[[文書型宣言]]相当のものはありません。

[16] [[XSLT 1]]では、[[XPath 1.0]]の[[データ・モデル]]より拡張されていて、
[[原始木]]も[[結果木]]も、[[要素節点]]の個数は零個以上の任意個で、
[[テキスト節点]]を[[子供]]にすることもできます。
[SRC@en[XSLT 1.0]]

;; [[外部解析対象実体]]相当の表現力です。

*** 根要素・文書要素との関係

[7]
[[根節点]] = [[文書節点]]と[[根要素]] = [[文書要素]]は、
名前が似ていて紛らわしいですが、別のものです。[[根要素]]は[[根節点]]の[[子供]]にあたります。

[19] [[XPath 2.0]] が採用している [[XDM]] では「[[根節点]]」は[[木]]の[[根]]を指し、
[[文書節点]] (相当) とは限りません。

** 文書情報項目 (XML 情報集合)

[17] [[XML情報集合]]の[DFN[[RUBYB[文書情報項目]@en[the document information item]]]]は、
[[XML]] [[文書]]を表す[[情報項目]]です。

** 文書節点 (XDM)

*** 仕様書

[REFS[
- [20] [CITE@en[XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition)]]
( ([TIME[2010-12-17 00:06:35 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/#constraints-document>
]REFS]

*** 子供

[21] [[XDM]] は[[文書節点]]の[[子供]]として、[[要素節点]]、[[テキスト節点]]、
[[コメント節点]]、[[処理指令節点]]を任意の順序で0個以上使うことを認めています。
[[XML情報集合]]などに比べて制限が非常に緩くなっています。 [SRC[>>20]]

***

[62] [CITE@en[XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition)]]
( ([TIME[2010-12-17 00:06:35 +09:00]] 版))
<http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/#dt-document>

[63] [CITE@en[XQuery and XPath Data Model 3.0]]
( ([TIME[2014-04-08 07:00:06 +09:00]] 版))
<http://www.w3.org/TR/xpath-datamodel-3/#dt-document>

** HTML5

[97] 
[CITE@en['''['''e''']''' (0) explain what a conforming document is]], [[Hixie]], [TIME[2010-04-01 10:00:38 +09:00]], [TIME[2024-09-08T12:43:49.000Z]] <https://github.com/whatwg/html/commit/69969470bf42357bb2d586ac366323adc6faff98#diff-41cf6794ba4200b839c53531555f0f3998df4cbb01a4d5cb0b94e3ca5e23947d>


[22] [CITE@en[Web Applications 1.0 r6153 The platform is full of crazy.]]
( ([TIME[2011-05-27 09:31:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6152&to=6153>

[23] [CITE@en[Web Applications 1.0 r6329 Move some Document concepts to DOM Core.]]
( ([TIME[2011-07-27 09:00:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=6328&to=6329>

[24] [CITE@en-GB-hixie[Web Controls 1.0]]
( ([TIME[2004-11-09 08:49:52 +09:00]] 版))
<http://www.whatwg.org/specs/web-controls/current-work/#the-documentui>

[25] [CITE@en-GB-hixie[Web Applications Markup Language 1.0]]
( ([TIME[2004-04-08 02:39:12 +09:00]] 版))
<http://hixie.ch/specs/html/apps/web-apps-1#the-documentui>

[26] [CITE[IRC logs: freenode / #whatwg / 20120628]]
( ([TIME[2012-07-13 23:43:01 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120628#l-252>

[27] [CITE[IRC logs: freenode / #whatwg / 20121011]]
( ([TIME[2012-10-21 22:01:25 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121011>

[28] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#the-documentxbl-interface>

[30] [CITE@en[Web Applications 1.0 r8273 Remove security checks on Document since there should now be no way to get to a Document from another origin.]]
( ([TIME[2013-11-13 06:53:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8272&to=8273>

[31] [CITE@en[Web Applications 1.0 r8406 Rearrange how Document objects are initialized and created to make things a little clearer]]
( ([TIME[2014-01-18 03:05:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8405&to=8406>

[32] [CITE@en[XQuery and XPath Data Model 3.0]]
( ([TIME[2014-04-08 07:00:06 +09:00]] 版))
<http://www.w3.org/TR/xpath-datamodel-3/#DocumentNode>

[39] [CITE@en[Tie Location to the Window object · whatwg/html@fdd8216]]
([TIME[2016-02-04 21:03:01 +09:00]] 版)
<https://github.com/whatwg/html/commit/fdd8216a902a065dd3e205cbbc1b5a6b527970a2>

[40] [CITE@en[Adding event handler attributes cut/copy/paste · whatwg/html@efe130a]]
([TIME[2016-02-24 18:36:36 +09:00]] 版)
<https://github.com/whatwg/html/commit/efe130a0566a43067659c1d92bf712b151db0727>

[41] [CITE@en[Shadow: add DocumentOrShadowRoot mixin · whatwg/dom@4183385]]
([TIME[2016-03-16 14:34:14 +09:00]] 版)
<https://github.com/whatwg/dom/commit/418338575c7f79a18d20ebcc88c19834366379cf>

[56] [CITE@en[Align with origin changes in HTML · whatwg/dom@20b3f3e]]
([TIME[2016-04-06 17:15:00 +09:00]] 版)
<https://github.com/whatwg/dom/commit/20b3f3e427180e40531a40d1d93ea0097c221c90>

[57] [CITE@en[Change .createElement() namespace to match UAs by ayg · Pull Request #213 · whatwg/dom]]
([TIME[2016-04-16 23:44:11 +09:00]] 版)
<https://github.com/whatwg/dom/pull/213>

[58] [CITE@en[''''''[''''''blink'''''']'''''' Revision 166179]]
([TIME[2016-04-16 23:53:54 +09:00]] 版)
<https://src.chromium.org/viewvc/blink?view=revision&revision=166179>

[65] [CITE@en[Be more precise about nested and discarded browsing contexts]]
([[domenic]]著, [TIME[2016-07-20 22:58:49 +09:00]])
<https://github.com/whatwg/html/commit/39118df640ad4a3f03f164fb5ffe0a56316297be>

[67] [CITE@en[Make Window and Document named/indexed properties exclude shadow trees]]
([[domenic]]著, [TIME[2016-08-03 13:42:52 +09:00]])
<https://github.com/whatwg/html/commit/7b567729ac3cc66b074b0df53138c353ec540bb9>

[68] [CITE@en[22960 – Document, XMLDocument, HTMLDocument, oh my]]
([TIME[2016-08-17 21:04:24 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=22960>

[69] [CITE@en[Specify global object references in more detail]]
([[annevk]]著, [TIME[2016-08-17 19:43:59 +09:00]])
<https://github.com/whatwg/dom/commit/fa8adb6cd107cd845feaeb71c9da208971b670ca>

[70] [CITE@en[22960 – Document, XMLDocument, HTMLDocument, oh my]]
([TIME[2016-10-25 17:52:55 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=22960>

[71] [CITE@en[Copy the origin pointer when cloning a document]]
([[annevk]]著, [TIME[2016-12-01 01:43:07 +09:00]])
<https://github.com/whatwg/dom/commit/623f655c9f58039fa6b30e0f65ee325700e8b977>

[38] [CITE@en[XQuery and XPath Data Model 3.1]]
([TIME[2017-03-20 07:26:25 +09:00]])
<https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#dt-document>

[FIG(quote)[
[FIGCAPTION[
[82] [CITE@en[What Is an ActiveX Document?]]
([TIME[2017-03-28 19:43:34 +09:00]])
<https://msdn.microsoft.com/en-us/library/aa733734(v=vs.60).aspx>
]FIGCAPTION]

> The word "document" in "ActiveX document" is somewhat misleading. While the genesis of ActiveX documents reveals that a Microsoft Visual Basic ActiveX document is analogous to a Word document, when you create a Visual Basic ActiveX document, the distinction between a "document" and an application becomes genuinely blurred. While a traditional document (such as a Word document) is static, ActiveX documents need not be. Using Visual Basic, you can create a complete application with the semantics of a traditional document. In other words, you have the functionality of the application, but the flexibility of a document's behavior — when a user opens an ActiveX document, she will not only have the full functionality of an application, but the ability to persist and distribute "copies" of the data intrinsic to the application. Thus, the "document" is truly active.

]FIG]


[83] [CITE@en[Remove <applet>]]
([[zcorpan]]著, [TIME[2017-08-21 22:19:30 +09:00]])
<https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>

[84] [CITE@en[<a> and <area> are not window named objects]]
([[ayg]]著, [TIME[2017-09-06 22:44:24 +09:00]])
<https://github.com/whatwg/html/commit/9c209523143cb97551799e185e2a5d2750854bda>

[86] [CITE@en[Cleanup remaining Document/Window object relations]]
([[annevk]]著, [TIME[2018-08-17 18:45:49 +09:00]])
<https://github.com/whatwg/html/commit/39dbb3e6de4216476cf7193ad9e5d56a861d5297>

[87] [CITE@en[Cleanup remaining Document/Window object relations by annevk · Pull Request #3933 · whatwg/html]]
([TIME[2018-08-23 18:54:10 +09:00]])
<https://github.com/whatwg/html/pull/3933>

[88] [CITE@en[Inherit source browsing context's CSP instead of parent/opener (#358)]]
([[andypaicu]]著, [TIME[2018-11-08 22:56:19 +09:00]])
<https://github.com/w3c/webappsec-csp/commit/9834155bff2276d7ec74209ef28b8a1fd2e45782>

[89] [CITE@en[Inherit source browsing context's CSP instead of parent/opener by andypaicu · Pull Request #358 · w3c/webappsec-csp]]
([TIME[2019-05-29 19:43:17 +09:00]])
<https://github.com/w3c/webappsec-csp/pull/358>

[90] [CITE@en[Please sort out who's responsible for a srcdoc document's CSP · Issue #209 · w3c/webappsec-csp]]
([TIME[2019-05-29 19:43:45 +09:00]])
<https://github.com/w3c/webappsec-csp/issues/209>

[91] [CITE@en[Initialialization of a document's CSP doesn't really make sense in the "local scheme" bit · Issue #211 · w3c/webappsec-csp]]
([TIME[2019-05-29 19:44:00 +09:00]])
<https://github.com/w3c/webappsec-csp/issues/211>

[92] [CITE@en[Align with IDL constructor changes]]
([[autokagami]]著, [TIME[2019-09-24 22:42:56 +09:00]])
<https://github.com/whatwg/dom/commit/57512fac17cf2f1c4c85be4aec178c8086ee5ee4>

[93] [CITE@en[Update to constructor operations · Issue #780 · whatwg/dom]]
([TIME[2020-05-14 14:04:40 +09:00]])
<https://github.com/whatwg/dom/issues/780>

[94] [CITE@en[Add the DOM XPath interfaces from the WHATWG wiki]]
([[annevk]]著, [TIME[2019-08-30 17:38:53 +09:00]])
<https://github.com/whatwg/dom/commit/dea5d92156f144faf57d1a5e54a17227139ca3c5>

[95] [CITE@en[rfc4154]], [TIME[2021-07-14T04:01:56.000Z]] <https://datatracker.ietf.org/doc/html/rfc4154#section-5.8.2>