*Document 節・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]]]] 界面も実装されていることが期待されます。 [[#comment]] **構成員 [4] [CODE(DOMi)[Document]] 界面は、 [CODE(DOMi)[[[Node]]]] 界面を継承します。 ,読取専用属性,[[doctype]] ,文書型 ,[DOM1] ,読取専用属性,[[implementation]],DOM 実装 ,[DOM1] ,読取専用属性,[[documentElement]],文書要素,[DOM1] ,method ,[[createElement]] ,要素作成 ,[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] ,method ,[[getElementById]],識別子による子要素取得,[DOM2] ,method ,[[getElementsByTagName]],要素型名による子要素取得,[DOM1] ,method ,[[getElementsByTagNameNS]],要素型名による子要素取得,[DOM2] -[8] [CODE(DOMm)[getElementById]] は DOM 1 では [CODE(DOMi)[[[HTMLDocument]]]] 界面にありましたが、 DOM 2 で移動してきました。 [[#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 など [[#comment]] **参考文献 -[DOM1] ''Document Object Model (Core) Level 1'' -[DOM2] ''Document Object Model Core'' [[#comment]] *メモ