/
402.txt
80 lines (55 loc) · 3.63 KB
/
402.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
[10] [DFN[[[DOM HTML]]]] は、[[HTML]] の[[文書]] ([[HTML文書]]や [[XHTML文書]])
に対応するメモリー中の表現 [SRC[>>9]] です。単に [DFN[[[the DOM]]]] ともいいます。
[11] [DFN[[[HTML DOM]]]] ともいいます。また [[HTML要素]]に関する [[DOM]] [[API]]
を指して [[HTML DOM]] ということもあります。
* 仕様書
[REFS[
- [9] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#html-vs-xhtml>
]REFS]
* API
[13] [CODE(DOMi)@en[[[Document]]]] [[インターフェイス]]には、 [[HTML]]
の[[文書]]のための[[メソッド]]や[[IDL属性]]が多々あります。
[14] [CODE(DOMi)@en[[[HTMLElement]]]] [[インターフェイス]]とその[[部分インターフェイス]]には、
[[HTML要素]]のための[[メソッド]]や[[IDL属性]]が多々あります。
[[HTML要素]]はこれらの[[インターフェイス]]を[[実装]]することになっています。
* メモリー内表現としての DOM
[15] [CODE(MIME)@en[[[text/html]]]] 表現としての [[HTML]]、
[[XML MIME型]]表現としての [[XHTML]] に対するメモリー内表現の呼称として、
[[HTML DOM]] (または [[DOM]]) [SRC[>>9]] が採用されています。
[16] [[HTML]] を表現していることを強調するため、あるいは [[HTML]] と [[XHTML]]
との対比のために [[''HTML'' DOM]] という呼称になっていますが、
実際には単なる [[DOM]] と異なることはありません。
;; [17] 例えば[[根要素]]が [[SVG]] の[[要素]]でも、その中に登場する
[[HTML要素]]では [[HTML DOM]] [[API]] が使えます。
* 歴史
** DOM0
[12] [[HTML DOM]] のはじまりは [CODE(JS)@en[[[document.links]]]] や
[CODE(JS)@en[[[document.images]]]] などの[[文書]]に関する [[DOM0]] [[API]]
で、 [[JavaScript]] の一部として登場し、後に [[DOM]] に分離されました。
** W3C DOM 時代
[2] [[DOM1]] 仕様書には [DFN[[[DOM1 HTML]]]] の章が含まれていました。
[3] [[DOM2]] 時代には独立した [DFN[[[DOM2 HTML]]]] 仕様書が出版されました。
[1]
[[DOM水準1]] [[FE]] は [[HTML 4.0]] の [[FE]]
を参照しています。 [[DOM水準1]]の[[SE]]
は [[HTML 4.0]] の [[SE]] を参照しています。
[[DOM水準2]]は [[HTML 4.01]] と [[XHTML 1.0]]
[[SE]] を参照しています。
** DOM5 HTML
[4] [DFN[[[DOM5 HTML]]]] (略して [DFN[[[DOM]]]]) は、 [[HTML5]] 仕様書で定義されている、
[[文書]]の[[メモリー]]内表現の名称です。
>
This specification defines an abstract language for describing documents and applications, and some APIs for interacting with in-memory representations of resources that use this language.
>
The in-memory representation is known as "DOM5 HTML", or "the DOM" for short.
;; [CSECTION@en[1.6 HTML vs XHTML]] ([[参考]])
[REFS[
- [5] [[HTML5]] [CSECTION@en[1.6 HTML vs XHTML]] ([[参考]]) <http://www.whatwg.org/specs/web-apps/current-work/#html-vs-xhtml>
]REFS]
[6] [[HTML5]] 仕様書では [[HTML5]]、[[XHTML5]]、[[DOM5 HTML]] の3種類の表現方法が規定されています。
[[HTML5]] と [[XHTML5]] は[[直列化]]と[[構文解析]]の方法ですが、 [[DOM5 HTML]]
は[[メモリー]]内での表現の (抽象化された) 規定です。
[7] 更に [[HTML5]] 仕様書 (現 [[HTML Standard]]) は旧 [[DOM2 HTML]]
にかわる [[HTML DOM]] の [[API]] の規定も含んでいました。
[8] 後に [[HTML5]] が [[HTML Standard]] に改称され、 [[DOM5 HTML]]
は単に [DFN[[[DOM HTML]]]] となりました。