DOMとは何か?(概要と重要性)質問する

DOMとは何か?(概要と重要性)質問する

ドキュメント オブジェクト モデル (DOM) とは何ですか?

私がこの質問をしているのは、主に .NET で作業しており、経験が限られているためですが、経験豊富な開発者がこれについて話したり言及したりするのをよく耳にします。オンラインでチュートリアルを読みましたが、全体像を理解することができません。API であることはわかっています。

より具体的な質問は次のとおりです。

  1. 現在どこで使用されていますか?
  2. どのような分野の開発者がこれを使用していますか (例: .NET 開発者)?
  3. すべての開発者が理解するのにどの程度関連があるでしょうか?

ベストアンサー1

一般的に言えば、DOM は構造化されたドキュメントのモデルです。
これは今日の IT の中心的な概念であり、開発者は DOM を使わないことはできません。.net、HTML、XML、または DOM が使用されるその他のドメインでも同様です。DOM
はすべてのドキュメント (Word ドキュメント、HTML ページ、XML ファイルなど) に適用されます。開発者の領域では、DOM は主に HTML および XML ドメインに適用されますが、意味は若干異なります。

html

HTML 分野では、DOM は 90 年代後半に「ダイナミック HTML」と呼ばれた革命をサポートするために導入されました。IE4 と Netscape 4.0 以前は、HTML ドキュメントはブラウザ内で変更できませんでした (当時、Web ページをスプライト化するには「アニメーション GIF」しかありませんでした !!!! HTML はバージョン 3.2 でした)。
したがって、サーバーから送信されたドキュメントをブラウザ内で動的に操作することは大きな革命であり、今日見られる魅力的な Web サイトへの進歩の始まりとなりました。

Javascript は Netscape によって導入され (新しい Java のトレンドに乗るために javascript と名付けられましたが、無関係です)、Netscape HTTP サーバーと Netscape ブラウザーの両方でサポートされ、Internet Explorer はブラウザー内でのこの動きに熱心に追随しました。ただし、ドキュメントのコンテンツを操作するのに javascript を使用する場合は、操作するドキュメントの部分を簡単に指定する方法が必要です。ここで DOM が役立ちます。HTML 4 は「整形式」ではありませんが、ブラウザーはページの内部表現を、その上部に「body」要素、その下に多数の html タグを階層構造 (子ノード、親ノードの属性など) で構築します。DOM は、この階層をナビゲートできる API の基盤となるモデルです。

Netscape と IE の両ブラウザは競合するソリューションであったため、NS と IE DOM が融合する可能性はほとんどありませんでした。W3C は、小規模なブラウザ ベンダーが競争に参加できるように介入し、DOM の標準化に努めました。これが W3C DOM の誕生です。W3C DOM が行ったことは、単に別の方言を導入しただけで、周知のとおり、MS に標準に準拠させるには何年もかかり、2 つの強力な競合相手が必要でした。

JQuery などのより現代的なナビゲーション技術には DOM の省略表記法がありますが、内部的には DOM に依存しています。

テキスト

HTML は、文書の「整形式性」に対して寛容であることのデメリットを明らかにし、これが新しい流行の先駆けとなりました。XML です。Web の分野では、XML と XSLT は IE5 で初めてサポートされ、ページの表示だけでなく、より多くの領域で採用されました。
主に Java Word で XML を解析するには、SAX パーサーを開発します。これは基本的に SAX エンジンのプラグインであり、解析された文書でエンジンが遭遇するすべての XML イベント (タグなど) に対してエンジンが行うべきことを記述します。SAX パーサーの開発は簡単ではありませんが、フットプリントの少ないソリューションです。
ただし、新しい文書の種類ごとに特定のパーサーを開発する必要があります...
そのため、すぐにライブラリが登場し、任意の文書を解析してその階層のメモリ内マップを構築し始めました。ルート、親、子 (HTML を通じて SGML から継承) という同じ概念もあったため、DOM とも呼ばれ、ライブラリに関係なくその名前が適用されます。

その他のドメイン

DOM の概念は、HTML や XML に限定されるものではなく、また HTML や XML のために発明されたものでもありません。DOM は、あらゆるドキュメント、特に階層構造を示すドキュメント (ほとんどのドキュメントがそうであるように) に適用できる一般的な概念です。MS-Word ドキュメントの DOM について話すこともできますし、これらをナビゲートするための API もあります。

おすすめ記事