* 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]]]] 界面も実装されていることが期待されます。 [10] Nice work. I liked your site... Best regards! ([[None]] [None]) [11] Nice and thought filled site you've got here!... ([[None]] [None]) [[#comment]] ** 構成員 [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(DOMa)@en[[[all]]]] ,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]]) ,[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(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]]]] ,[CODE(DOMm)@en[[[createRenderStyle]]]] ,[CODE(DOMi)@en[[[HTMLDocument4]]]] ([[Trident]]) ,[CODE(DOMm)@en[[[createStyleSheet]]]] ,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]]) ,[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[[[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[[[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[[[getAnonymousNodes]]]] ,[CODE(DOMm)@en[[[getAnonymousElementByAttribute]]]] ,[CODE(DOMm)@en[[[getBindingParent]]]] ,[CODE(DOMm)@en[[[getBoxObjectFor]]]] ,[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[[[lastModified]]]] ,[CODE(DOMa)@en[[[document]]]] ([[JavaScript 1.0]]) ,[CODE(DOMm)@en[[[loadBindingDocument]]]] ,[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[[[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[[[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[[[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(DOMm)@en[[[setBoxObjectFor]]]] ,[CODE(DOMa)@en[[[styleSheets]]]] ,[CODE(DOMi)@en[[[HTMLDocument2]]]] ([[Trident]]) ,[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 で移動してきました。 [[#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]] * メモ