ノードは、連結リストやツリーデータ構造などのデータ構造の基本単位です。ノードはデータを含み、他のノードとリンクすることもできます。ノード間のリンクは、多くの場合ポインタによって実装されます。


ノードはしばしばツリー構造に配置されます。ノードは、単一のデータ構造に含まれる情報を表します。これらのノードには値や条件が含まれる場合もあれば、別の独立したデータ構造として機能する場合もあります。ノードは単一の親ノードによって表されます。ツリー構造の最高点はルートノードと呼ばれ、親ノードはありませんが、ツリー内のその下にあるすべてのノードの親または「祖父母」として機能します。ノードの高さは、そのノードから最も遠いリーフノードまでのパス上のエッジの総数によって決定され、ツリーの高さはルートノードの高さに等しくなります。[ 1 ]ノードの深さは、その特定のノードとルートノード間の距離によって決定されます。ルートノードの深さはゼロであると言われます。[ 2 ]データは、これらのネットワークパスに沿って発見できます。[ 3 ] IPアドレスは、この種のノードシステムを使用して、ネットワーク内での位置を定義します。
ノードツリーのもう1つの一般的な用途は、Web開発です。プログラミングでは、XMLはコンピュータプログラマとコンピュータ間で情報をやり取りするために使用されます。このため、XMLはオフィス生産性ソフトウェアで使用される一般的な通信プロトコルを作成するために使用され、XHTMLのような最新のWebマークアップ言語の開発の基盤となっています。プログラマによるアプローチ方法は似ていますが、HTMLとCSSは通常、Webサイトのテキストとデザインを開発するために使用される言語です。XML、HTML、XHTMLは言語と表現を提供しますが、DOMは翻訳機として機能します。[ 4 ]
ツリー内の異なるタイプのノードは、特定のインターフェースによって表現されます。つまり、ノードのタイプは、他のノードとの通信方法によって定義されます。各ノードには、兄弟ノードや葉ノードなど、ノードのタイプを指定するノードタイププロパティがあります。たとえば、ノードタイププロパティがノードの定数プロパティである場合、このプロパティはノードのタイプを指定します。したがって、ノードタイププロパティが定数ノードである場合ELEMENT_NODE、このノードオブジェクトはオブジェクトであることがわかりますElement。このオブジェクトは、Elementインターフェースを使用して、その特定のノードのすべてのメソッドとプロパティを定義します。
W3C (ワールドワイドウェブコンソーシアム)のさまざまなノードタイプと説明:
Documentドキュメント全体(DOMツリーのルートノード)を表します。DocumentFragmentDocument文書の一部を保持できる「軽量」オブジェクトを表します。DocumentTypeドキュメント用に定義されたエンティティへのインターフェースを提供するProcessingInstruction処理命令を表すEntityReferenceエンティティ参照を表しますElement要素を表すAttr属性を表すText要素または属性内のテキストコンテンツを表しますCDATASectionドキュメント内のCDATAセクションを表します(パーサーによって解析されないテキスト)。Commentコメントを表しますEntityエンティティを表すNotationDTDで宣言された表記法を表すノードオブジェクトは、ツリー内の単一のノードで表されます。要素ノード、属性ノード、テキストノード、または「ノードタイプ」のセクションで説明されている任意のタイプのノードが対象となります。すべてのオブジェクトは、親ノードと子ノードを扱うためのプロパティとメソッドを継承できますが、すべてのオブジェクトが親ノードまたは子ノードを持つわけではありません。たとえば、子ノードを持つことができないテキストノードに子ノードを追加しようとすると、DOMエラーが発生します。
DOMツリー内のオブジェクトは、オブジェクトのメソッドを使用してアクセスおよび操作できます。DOMのパブリックインターフェースは、アプリケーションプログラミングインターフェース(API)で規定されています。ドキュメントオブジェクトモデルの歴史は、 1990年代後半のNetscape NavigatorとMicrosoft Internet Explorerの間の「ブラウザ戦争」の歴史、そしてWebブラウザのレイアウトエンジンに広く実装された最初のスクリプト言語であるJavaScriptとJScriptの歴史と密接に結びついています。