Студопедия — Введение в DOM
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Введение в DOM






При описании каскадных таблиц стилей мы уже ввели рассмотрение HTML-документа как дерева элементов. Приведем еще раз пример, иллюстрирующий этот подход. Пусть наш документ имеет вид:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><HTML><HEAD><TITLE>Моя домашняя страница</TITLE></HEAD><BODY><H1>Моя домашняя страница</H1><P>Добро пожаловать!</P></BODY></HTML>

Тогда мы можем представить его в виде следующего дерева:

Корнем этого дерева является элемент HTML, который имеет двух детейHEAD и BODY. Элемент HEAD является отцом элемента TITLE, а элемент BODY — отцом элементов H1 и P (два последних элемента называются братьями, причем H1 является старшим братом, а Pмладшим). Все элементы дерева являются потомками корня, а тот является их предком. При этом все элементы и тексты, образующие их содержимое, являются узлами дерева документа.

Каждый элемент данного дерева соответствует элементу HTML и, следовательно, имеет тег(и), содержимое и набор атрибутов. Для перехода к объектной модели документа остается сделать единственный шаг: назвать все элементы дерева объектами, а их атрибуты сделать доступными для чтения и для изменения из сценариев и аплетов. В результате дерево элементов HTML-документа становится динамически управляемым; более того, теперь мы можем легко добавлять к каждому элементу новые свойства, помимо стандартных атрибутов HTML.

Именно такой подход был положен в основу динамической модели HTML обозревателей Microsoft, а затем принят за основу стандартов W3C, получивших название объектная модель документа (Document Object Model или DOM). При этом W3C расширил понятие DOM на любые XML-документы, рассматривая HTML DOM как специализированный частный случай с дополнительными возможностями. Таким образом, DOM — это модель HTML- и XML-документов, независимая от платформы и языка программирования, которая определяет:

  • интерфейсы и объекты, которые используются для представления документа и манипулирования им;
  • семантику этих интерфейсов и объектов, включая их атрибуты и реакцию на события;
  • взаимосвязи между этими интерфейсами и объектами.

На сегодняшний день W3C стандартизовал DOM первого и второго уровней (DOM 1 и DOM 2); в стадии рабочего проекта находится DOM 3. Эти аббревиатуры соответственно обозначают следующее:

  • DOM 1 описывает базовое представление XML- и HTML-документов в виде деревьев объектов;
  • DOM 2 расширяет базовые интерфейсы DOM 1 и добавляет к ним поддержку событий и стилей;
  • DOM 3 описывает загрузку и синтаксический анализом документов, а также их отображение и форматирование.

Учитывая текущее состояние вещей, мы рассматриваем здесь только DOM 2 (и содержащуюся в нем DOM 1). DOM 2 состоит из следующих групп взаимосвязанных интерфейсов:

  • Core — базовые интерфейсы, определяющие представление любого XML-документа в виде дерева;
  • View — интерфейсы, описывающие возможные отображения документа;
  • Event — интерфейсы, определяющие порядок генерации и обработки событий;
  • Style — интерфейсы, определяющие применение к документам таблиц стилей;
  • Traversal & Range — интерфейсы, определяющие прохождение дерева документа и манипулирование областями его содержимого;
  • HTML — интерфейсы, определяющие представление HTML-документа в виде дерева.

См. также WDH+: Программы просмотра дерева объектов.

Начнем с определения базовых интерфейсов, лежащих в основе всех дальнейших спецификаций.

Основные понятия

DOM 2 Core представляет XML-документы в виде деревьев, состоящих из узлов, которые, в свою очередь, также являются объектами и реализуют более специализированные интерфейсы. Одни типы узлов могут иметь детей, т. е. сами являться поддеревьями, другие являются листьями, т. е. детей не имеют. В следующей таблице сведены все возможные типы узлов абстрактного документа; для каждого типа узлов перечислены те узлы, которые могут быть его детьми. О понятиях, соответствующих перечисленным узлам, см. описание структуры XML-документа.

Таблица 4.1. Структура дерева документа
Интерфейс Описание Дети
Document Документ Element (не более одного), ProcessingInstruction,Comment, DocumentType (не более одного)
DocumentFragment Фрагмент документа Element, ProcessingInstruction, Comment, Text,CDATASection, EntityReference
DocumentType Тип документа детей не имеет
EntityReference Ссылка на раздел Element, ProcessingInstruction, Comment, Text,CDATASection, EntityReference
Element Элемент Element, ProcessingInstruction, Comment, Text,CDATASection, EntityReference
Attr Атрибут Text, EntityReference
ProcessingInstruction Директива XML детей не имеет
Comment Комментарий детей не имеет
Text Текст детей не имеет
CDATASection Секция CDATA детей не имеет
Entity Раздел Element, ProcessingInstruction, Comment, Text,CDATASection, EntityReference
Notation Нотация детей не имеет

Кроме того, DOM 2 Core содержит спецификацию интерфейсов NodeList (упорядоченные списки узлов, доступных по номеру в списке) и NamedNodeMap (неупорядоченные списки узлов, доступных по своему имени). Эти объекты являются живыми, т. е. любое изменение документа автоматически влечет изменение всех связанных с ним списков.

Интерфейсы Text, Comment и CDATASection являются потомками интерфейса CharacterData.

Следует подчеркнуть, что DOM 2 Core содержит два набора интерфейсов, каждый из которых обеспечивает полный доступ ко всем элементам документа. Первый набор представляет объектно-ориентированный подход со следующей иерархией наследования: документ — составляющие его элементы — их атрибуты и текстовое содержимое. При таком рассмотрении дерева документа мы говорим о иерархии объектов. Второй подход построен по принципу "все есть узлы (Nodes)". Здесь все составляющие документа рассматриваются как равноправные узлы его дерева, и мы можем говорить только о иерархии узлов. Таким образом, DOM 2 по своей сути является избыточной, но предоставляет нам возможность в зависимости от задачи рассматривать документ тем или иным способом.

Все интерфейсы DOM 2 Core подразделяются на основные (fundamental) и дополнительные (extended). Основными являются интерфейсы DOMException, DOMImplementation,DocumentFragment, Document, Node, NodeList, NamedNodeMap, CharacterData, Attr,Element, Text и Comment. Эти интерфейсы должны поддерживаться всеми реализациями DOM, как для XML-, так и для HTML-документов. Дополнительные интерфейсы ориентированы на XML-документы, поэтому реализации DOM для HTML могут их не поддерживать. К ним относятся CDATASection, DocumentType, Notation, Entity, EntityReference иProcessingInstruction.

В целях независимости от языка и платформы DOM определяет следующие типы:







Дата добавления: 2015-09-15; просмотров: 438. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Этапы трансляции и их характеристика Трансляция (от лат. translatio — перевод) — процесс синтеза белка из аминокислот на матрице информационной (матричной) РНК (иРНК...

Этапы творческого процесса в изобразительной деятельности По мнению многих авторов, возникновение творческого начала в детской художественной практике носит такой же поэтапный характер, как и процесс творчества у мастеров искусства...

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия