Главная
страница 1страница 2страница 3страница 4

Моя домашняя страница



Добро пожаловать!





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


Рис
Корнем этого дерева является элемент 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-документа в виде дерева.



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

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




Интерфейс

Описание

Дети

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, , 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 определяет следующие типы:


  • DOMString-текстовая строка, состоящая из символов Unicode в формате UTF-16. В JavaScript и в Java реализуется типом String.

  • DOMTimeStamp-дата и время в приемлемом для конкретного языка формате. Например, в JavaScript это будет объект Date, а в Java - целое число типа long, содержащее количество миллисекунд.



Зачем нужна модель DOM

В качестве метода доступа к файлам XML всегда следует выбирать модель DOM. По сравнению с такими доступными механизмами генерации документов XML, как запись непосредственно в поток, этот метод имеет ряд преимуществ:



  1. Модель DOM гарантирует правильную грамматику и правильное оформление документов.

DOM трансформирует текстовый файл в абстрактное представление дерева узлов. Это позволяет полностью избежать таких проблем, как незакрытые или неправильно вложенные теги. Работая с документом XML при помощи этого метода, разработчик должен беспокоиться не о текстовом выражении документа, а только о связях типа родитель-потомок и об относящейся к этому информации. Кроме того, DOM предотвращает создание неправильных связей родитель-потомок в документе.

  1. Модель DOM абстрагирует содержание от грамматики.

Созданное моделью DOM дерево узлов - это логическое представление содержания файла XML, показывающее, какая информация в нем представлена и как ее фрагменты соотносятся друг с другом, вне непосредственной связи с грамматикой XML. Информация дерева узлов используется для обновления реляционной базы данных или для создания страницы HTML, и разработчики при этом не должны вникать в специфику языка XML.

  1. Модель DOM упрощает внутреннее манипулирование документом.

Задача разработчика, использующего модель DOM для модификации внутренней структуры файла XML, упрощается по сравнению с работой тех, кто для этой цели применяет традиционные механизмы манипулирования файлами. Как уже было, описано DOM позволяет легко добавить элемент в середину документа. Кроме того, такие глобальные операции, как удаление из документа всех элементов с конкретным именем тега, могут быть выполнены с помощью пары команд, а не "метода грубой силы", предполагающего полное сканирование всего файла и удаление ненужных тегов.

  1. Модель DOM напоминает структуры иерархических и реляционных баз данных.

Способ, используемый DOM для представления связей между элементами данных, напоминает метод представления этой информации в современных иерархических и реляционных базах данных. С помощью этой модели упрощается процесс обмена данными между файлом XML и базой данных. Использование модели DOM для построения иерархической структуры документа позволяет легко передавать информацию между системами.

Модель DOM в окружающем мире

Компания Netscape в версии 4.7 своего браузера еще не предлагает встроенной поддержки DOM, но при наличии библиотек ActiveX или Java DOM можно обращаться к документам XML и работать с ними у клиента с помощью языков Java и JavaScript. Следующие версии браузера Netscape включает встроенную поддержку XML и XSL.

В браузерах Internet Explorer 5 и выше находятся встроенные библиотеки DOM и поддержка XSL. Для сценариев на стороне клиента доступно множество объектов для работы с XML-документом, самые важные из них, объекты XMLDOMDocument, XMLDOMNode, XMLDOMNodeList, XMLDOMParseError представляющие интерфейс для доступа ко всему документу, отдельным его узлам и поддеревьям, предоставляющие необходимую для отладки информацию о произошедших ошибках анализатора соответственно.

Объект XMLDOMNode, реализует базовый DOM интерфейс Node, предназначен для манипулирования с отдельным узлом дерева документа. Его свойства и методы позволяют получать и изменять полную информацию о текущем узле - его тип (является ли текущий узел элементом, комментарием, текстом и т.д.), название, полное название (вместе с Namespace префиксом), его содержимое, список дочерних элементов и т.д.

Объект XMLDOMDocument представляет верхний уровень объектной иерархии и содержит методы для работы с документом: его загрузки, анализа, создания в нем элементов, атрибутов, комментариев и т.д. Многие свойства и методы этого объекта реализованы также в классе Node, т.к. документ может быть рассмотрен как корневой узел с вложенными в него поддеревьями.

Объект XMLDOMNodeList представляет собой список узлов - поддеревья и содержит методы, при помощи которых можно организовать процедуру обхода дерева.

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

Клиент и сервер

Все приложения DOM и XML можно разделить на две группы: устанавливаемые на сервере (или в таком контролируемом окружении, как системы типа клиент/сервер) и устанавливаемые у клиента.



Использование модели DOM на сервере

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



Использование модели DOM у клиента

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

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

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

Главное достоинство DOM - возможность обращаться ко всем элементам документа для обновления их содержания и стиля. Работая совместно с объектной моделью Dynamic HTML (DHTML), реализованной в броузерах четвертого поколения, модель DOM расширяет возможности авторов создавать сложные документы и данные и управлять ими. Многие задачи, которые сложно или даже невозможно решить в модели DHTML, например перемещение объекта из одной части документа в другую, легко реализуются с помощью методов DOM.


<< предыдущая страница   следующая страница >>
Смотрите также:
Глобальная компьютерная сеть – интернет 2 web 0 5 обзор технологий 7
497.86kb.
4 стр.
Глобальная сеть интернет и информационная среда
41.87kb.
1 стр.
Статья раскрывает проблему проектирования новой образовательной среды обучения, основанной на современных информационных и коммуникационных технологиях в условиях применения Интернет, Web-технологий, гипертекста
104.1kb.
1 стр.
Москва, Россия
75.38kb.
1 стр.
Интернет: скрытые угрозы у интернета много имен и свойств. Всемирная компьютерная сеть, способ мгновенной коммуникации, «территория свободы»
86kb.
1 стр.
Общие положения о web-сайтах Сайт от англ website: web — «паутина, сеть»
126.41kb.
1 стр.
Стоит отметить, что в 90-х годах прошлого столетия Интернет рассматривался как глобальная сеть, не имеющая границ, в том числе государственных, с присущей ему географической анонимностью пользователей
129.27kb.
1 стр.
Нормы пользования услугами сети передачи данных и доступа в сеть интернет общие положения
47.33kb.
1 стр.
Программа предпрофильного элективного курса
127.15kb.
1 стр.
Управление корпоративной информационно-образовательной средой на базе интернет-технологий
37.13kb.
1 стр.
В этом разделе мы рассмотрим вопросы подключения к всемирной паутине, безопасности, общения и развлечения в Сети. А также, что для этого необходимо
16.32kb.
1 стр.
Сеть и Интернет Заходим в Пуск->Панель управления->Сеть и Интернет
35.14kb.
1 стр.