Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / DHTML /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Базовая объектная модель документа - Программирование от RIN.RU
Базовая объектная модель документа




Введение в DOM


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


Пусть наш документ имеет вид:



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





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


Дерево элементов 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-документа в виде дерева.





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


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь
Календарь торпедо программка к матчу пфк цска торпедо.