* [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[ - [29] [CITE@en[Touch Events]] ([TIME[2013-10-12 10:35:42 +09:00]] 版) ]REFS] ** メンバー [18] [CITE[Results for document (an HTML document object)]] ([TIME[2009-02-28 14:01:23 +09:00]] 版) もご覧ください。 [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]] 版) ([[名無しさん]]) [[#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'' - [DOM2] ''Document Object Model Core'' [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]] -- ** 親節点 [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]] 版)) ]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]] 版)) [23] [CITE@en[Web Applications 1.0 r6329 Move some Document concepts to DOM Core.]] ( ([TIME[2011-07-27 09:00:00 +09:00]] 版)) [24] [CITE@en-GB-hixie[Web Controls 1.0]] ( ([TIME[2004-11-09 08:49:52 +09:00]] 版)) [25] [CITE@en-GB-hixie[Web Applications Markup Language 1.0]] ( ([TIME[2004-04-08 02:39:12 +09:00]] 版)) [26] [CITE[IRC logs: freenode / #whatwg / 20120628]] ( ([TIME[2012-07-13 23:43:01 +09:00]] 版)) [27] [CITE[IRC logs: freenode / #whatwg / 20121011]] ( ([TIME[2012-10-21 22:01:25 +09:00]] 版)) [28] [CITE@en-US[XBL 2.0]] ( ([TIME[2012-05-03 02:23:03 +09:00]] 版)) [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]] 版))