/
713.txt
371 lines (311 loc) · 20.6 KB
/
713.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
* [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]
** メンバー
[FIG(list members)[
:関連付けられた [CODE(DOMi)@en[[[Window]]]]:[[閲覧文脈]]中にある[[文書]]が持ちます [SRC[>>10]]。
:[[ready for post-load tasks]] 状態:
:[[completely loaded]] 状態:
:[[print when loaded]] フラグ:
]FIG]
[33] [CODE(DOMi)@en[[[Document]]]] の中には、それを[[継承]]する[[インターフェイス]]である
[CODE(DOMi)@en[[[XMLDocument]]]] を[[実装]]するものもあります。
;; [34] [[XML文書]]がすべて [CODE(DOMi)@en[[[XMLDocument]]]] になるわけではありません。
限られた方法で作ったもののみが [CODE(DOMi)@en[[[XMLDocument]]]] となります。
[35] [CODE(DOMm)@en[[[getSVGDocument]]]] においては、
[[navigate]] において [[sniffed type]] が [CODE(MIME)@en[[[image/svg+xml]]]]
だったため作られた [CODE(DOMi)@en[[[Document]]]] かどうかで、
動作が変わります。
[18] [CITE[Results for document (an HTML document object)]] ([TIME[2009-02-28 14:01:23 +09:00]] 版) <http://suika.fam.cx/gate/test-results/list/enum-document/all>
もご覧ください。
[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(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]]), [CODE(DOMi)@en[[[Document]]]] ([[DOM水準1中核]])"
,[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(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(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(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[[[ids]]]] ,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
,読取専用属性 ,[[implementation]] ,DOM 実装 ,[DOM1]
,読取専用属性 ,[[documentElement]] ,文書要素 ,[DOM1]
,method ,[[createElementNS]] ,要素作成 ,[DOM2]
,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[[[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[[[width]]]] ,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.2]])
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]] (旧)
など
[FIG[
- [[文書の番地]] = [CODE(DOMa)@en[[[URL]]]] = [CODE(DOMa)@en[[[documentURI]]]]
- [[文書基底URL]] = [CODE(DOMa)@en[[[baseURI]]]]
- [[フォールバック基底URL]]
]FIG]
** 参考文献
- [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]]]] [[節点]]として残すようです。
* 根節点 (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]]
* メモ
[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>