[7] [DFN[DOM0]] ([DFN[DOM [RUBY[水準][レベル]@en[level]] 0]]) は、 主に [[Webブラウザー]]によって実装されている、[[Web]] [[利用者エージェント]]の[[プラットフォーム]] [[API]] の総称です。 [8] 長らく [[DOM0]] は標準不在の状況が続いていましたが、最近では [[Web Applications 1.0]] ([[HTML5]]) によって規定されています。 (もっとも、 WA1 では「[[DOM0]]」という語は使っていません。) * 歴史 [9] [[DOM1]] ではそれまで [[Webブラウザー]]で実装されていた [[JavaScript]] [[API]] のすべてが標準化されたわけではありませんでした (むしろ旧来の JS API と共通する部分の方が少なかったです)。 そのため、[[DOM1]] 以前の [[DOM]] ということでそれらは「[[DOM水準0]]」と呼ばれるようになりました。 [1] > [DFN[DOM [RUBYB[水準] [level]] 0]] とは、 [[NN]] 3.0 及び [[IE]] 3.0 で提供されていた機能の混合である。 ;; [CITE@en[Document Object Model (HTML) Level 1]] [10] [[DOM0]] の範囲はそもそも明確ではありません。 >>1 の [[DOM1]] の説明に従うなら NN3 と IE3 が実装していた機能ですが、その[[和集合]]なのか[[積集合]]なのか、 [[DOM0]] とそれ以外の [[JavaScript]] [[API]] の境界はどこなのか、 と細かいことを言えばきりがありません。現在では [[DOM1]] 以降に含まれる機能は「[[DOM0]]」 に含まないニュアンスで語られることが多いように感じますが、 >>1 では「[[DOM0]] との互換性」が語られており、元々は [[DOM1]] の機能を除外する意図はなかったようです。 また、時代が下ると [[NN4]] や [[IE4]] 以降で追加された非標準の機能を「[[DOM0]]」 に含めることも出てきました。 * メモ - [2] NN2/IE3 以来の [[JavaScript]] の[[オブジェクト]]を、幾分汎用化して標準化したのが [[DOM]](1) でしたが、[[文書木]]ではなく[[ブラウザ]]の[[表示]]に関する部分とか、ブラウザの実装に強く依存する部分とかは、その後の DOM 2 や DOM 3 でも完全には標準化されずに残っています。また、標準化は不適当として落とされた機能も少なくありません。そのような DOM の周辺でありながら DOM ではない機能を、総称して DOM 0 と呼びます。[WEAK[DOM 1 勧告後にブラウザ実装が追加した機能もあります。]] - [3] DOM 3 までで相当するほとんどの機能が標準化されるようですから、いずれ使われなくなっていくでしょうが、ブラウザ独自機能への access や互換性のために当分まだまだばりばり使われようことが予想されます。 - [4] このような事情ですから、 DOM 0 の仕様を規定した規格や DOM 0 という決まった集合があるわけではありません。敢えて言うなら、 [[Netscape]]/[[mozilla.org]] や [[M$]] の [[reference]] がそれに当たるでしょう。 [5] [CITE[The Object Models]] ([[名無しさん]]) [6] [CITE[mrclay.org » Archive » Kill these DOM0 shortcuts]] ([TIME[2007-06-26 22:21:27 +09:00]] 版) ([[名無しさん]] [WEAK[2007-06-26 13:25:59 +00:00]])