- •Объявление типа документа[править | править исходный текст]
- •Cоздание файлов таблиц стилей
- •Ссылка на файл таблицы стилей
- •Стили в документе html
- •Селекторы
- •Селекторы класса
- •Обычные классы
- •Универсальный селектор класса
- •Применение классов стилей
- •Селекторы id
- •Inline- ("инлайн"-) элементы
- •Позиционирование и визуализация элементов страниц
- •Статическая компоновка страницы
- •Динамическая компоновка страницы
- •Создание и изменение
- •Авто-длина length
- •Перебор элементов
- •8. Типы
- •Введение в dom
- •4.2.2. Основные понятия
- •Пример 1
- •Пример 2.1
- •Пример 2.2
- •Пример 3.1
- •Пример 3.2
- •Типы данных[править | править исходный текст]
- •Константы
- •Переменные
- •Пример 1
- •Результат примера 1:
- •Типы данных
- •Массивы ¶
- •Синтаксис ¶
- •Определение при помощи array() ¶
- •Условные операторы
- •Открытие сессии
- •Регистрация переменных сессии
- •Закрытие сессии
- •Пример простой сессии
- •Конфигурирование Apache
- •Пути к файлам
- •Директивы файла httpd.Conf
- •Примечание
- •Примечание
- •Создание виртуальных хостов
- •Файл httpd.Conf. Настройка виртуальных хостов
- •Подключение MySql
- •Установка расширений php
Введение в 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+: Программы просмотра дерева объектов.
Начнем с определения базовых интерфейсов, лежащих в основе всех дальнейших спецификаций.