Теперь, когда мы знаем, что означает DOM, давайте посмотрим, что такое структура DOM. Документ DOM представляет собой набор узлов или фрагментов информации, организованных в иерархию. Некоторые типы узлов могут иметь дочерние узлы различных типов, а другие являются конечными узлами, которые не могут иметь ничего под ними в структуре документа. Ниже приведен список типов узлов со списком типов узлов, которые они могут иметь в качестве дочерних элементов:
-
Документ — Элемент (максимум один), ProcessingInstruction, Comment, DocumentType (максимум один)
-
DocumentFragment — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
-
EntityReference — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
-
Элемент — Элемент, Текст, Комментарий, Обработка, Инструкция, CDATASection, EntityReference
-
Attr — Text, EntityReference
-
ProcessingInstruction — нет детей
-
Комментарий — детей нет
-
Текст — детей нет
-
CDATASection — нет детей
-
Entity — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
-
Запись — Нет детей
Документ — Элемент (максимум один), ProcessingInstruction, Comment, DocumentType (максимум один)
DocumentFragment — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
EntityReference — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
Элемент — Элемент, Текст, Комментарий, Обработка, Инструкция, CDATASection, EntityReference
Attr — Text, EntityReference
ProcessingInstruction — нет детей
Комментарий — детей нет
Текст — детей нет
CDATASection — нет детей
Entity — Элемент, ProcessingInstruction, Комментарий, Текст, CDATASection, EntityReference
Запись — Нет детей
пример
Рассмотрим представление DOM следующего XML-документа node.xml .
<?xml version = "1.0"?> <Company> <Employee category = "technical"> <FirstName>Tanmay</FirstName> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> </Employee> <Employee category = "non-technical"> <FirstName>Taniya</FirstName> <LastName>Mishra</LastName> <ContactNo>1234667898</ContactNo> </Employee> </Company>
Объектная модель документа вышеуказанного XML-документа будет выглядеть следующим образом:
Из приведенной блок-схемы, мы можем сделать вывод —
Объект Node может иметь только один объект родительского узла . Это занимает положение над всеми узлами. Вот она компания .
Родительский узел может иметь несколько узлов, называемых дочерними узлами. Эти дочерние узлы могут иметь дополнительные узлы, называемые узлами атрибута . В приведенном выше примере у нас есть два узла атрибутов: технический и нетехнический . Узел атрибута на самом деле не является дочерним элементом узла элемента, но все еще связан с ним.
Эти дочерние узлы, в свою очередь, могут иметь несколько дочерних узлов. Текст внутри узлов называется текстовым узлом.
Узловые объекты на том же уровне называются братьями и сестрами.
DOM идентифицирует —
объекты для представления интерфейса и управления документом.
отношения между объектами и интерфейсами.