Узел — это базовая единица структуры данных , например, связанного списка или древовидной структуры данных. Узлы содержат данные и также могут ссылаться на другие узлы. Связи между узлами часто реализуются с помощью указателей .
Узлы часто организованы в древовидные структуры. Узел представляет информацию, содержащуюся в одной структуре данных. Эти узлы могут содержать значение или условие, или, возможно, служить другой независимой структурой данных. Узлы представлены одним родительским узлом. Самая высокая точка в древовидной структуре называется корневым узлом, который не имеет родительского узла, но служит родителем или «прародителем» всех узлов ниже него в дереве. Высота узла определяется общим числом ребер на пути от этого узла до самого дальнего листового узла, а высота дерева равна высоте корневого узла. [1] Глубина узла определяется расстоянием между этим конкретным узлом и корневым узлом. Говорят, что корневой узел имеет глубину, равную нулю. [2] Данные могут быть обнаружены вдоль этих сетевых путей. [3] IP-адрес использует такую систему узлов для определения своего местоположения в сети.
Другое распространенное применение деревьев узлов — веб-разработка . В программировании XML используется для передачи информации между программистами и компьютерами. По этой причине XML используется для создания общих протоколов связи, используемых в офисном программном обеспечении , и служит основой для разработки современных языков веб-разметки, таких как XHTML . Хотя они схожи в подходе программиста, HTML и CSS обычно являются языками, используемыми для разработки текста и дизайна веб-сайта. В то время как XML, HTML и XHTML предоставляют язык и выражение, DOM служит переводчиком. [4]
Различные типы узлов в дереве представлены определенными интерфейсами. Другими словами, тип узла определяется тем, как он взаимодействует с другими узлами. Каждый узел имеет свойство типа узла, которое определяет тип узла, например, родственный или листовой. Например, если свойство типа узла является постоянным свойством для узла, это свойство определяет тип узла. Таким образом, если свойство типа узла является постоянным узлом ELEMENT_NODE, можно узнать, что этот объект узла является объектом Element. Этот объект использует интерфейс Element для определения всех методов и свойств этого конкретного узла.
Различные типы узлов консорциума W3C World Wide Web и их описания:
Объект узла представлен одним узлом в дереве. Это может быть узел элемента, узел атрибута, текстовый узел или любой тип, описанный в разделе «тип узла». Все объекты могут наследовать свойства и методы для работы с родительскими и дочерними узлами, но не все объекты имеют родительские или дочерние узлы. Например, в случае текстовых узлов, которые не могут иметь дочерних узлов, попытка добавить дочерние узлы приводит к ошибке DOM .
Объекты в дереве DOM могут быть адресованы и обработаны с помощью методов объектов. Открытый интерфейс DOM указан в его интерфейсе прикладного программирования (API). История объектной модели документа переплетена с историей «войн браузеров » конца 1990-х годов между Netscape Navigator и Microsoft Internet Explorer , а также с историей JavaScript и JScript , первых языков сценариев , широко реализованных в движках макетов веб -браузеров .