Document Object Model
DOM (англ. Document Object Model — объектная модель документов) — это платформенно-независимый программный интерфейс, позволяющий программам и скриптам управлять содержимым документов HTML и XML, а так же изменять их структуру и оформление.
Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого содержит элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родитель-потомок.
Изначально различные браузеры имели собственную модель DOM, не совместимую с остальными. Для того, чтобы обеспечить взаимную и обратную совместимость, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM.
Уровни W3C DOM
Текущим уровнем спецификаций DOM является Уровень 2, но тем не менее некоторые части спецификаций Уровня 3 являются рекомендуемыми W3C.
- Уровень 0
- Включает в себя все специфические модели DOM, которые существовали до появления Уровня 1, например document.images, document.forms, document.layers, and document.all. Необходимо обратить внимание, что эти модели формально не являются спецификациями DOM, опубликованными W3C, а скорее являются информацией о том, что существовало до начала процесса стандартизации.
- Уровень 1
- Базовые функциональные возможности DOM (HTML и XML) в документах, такие как получение дерева узлов документа, возможность изменять и добавлять данные.
- Уровень 2
- поддержка так называемого пространства имён XML <--filtered views--> и событий.
- Уровень 3
- Состоит из шести различных спецификаций: 1) DOM Level 3 Core; 2) DOM Level 3 Load and Save; 3) DOM Level 3 XPath; 4) DOM Level 3 Views and Formatting; 5) Level 3 Requirements; и 6) DOM Level 3 Validation. Эти спецификации являются дополнительными расширениями DOM.
Ссылки
- Раздел DOM на сайте Консорциума Всемирной паутины (W3C)
- Доклады по DOM
- Учебники по DOM
- Какой уровень DOM поддерживает ваш браузер?
- Что включает в себя каждый уровень DOM?
- Раздел W3C DOM на сайте Microsoft (MSDN)
- Скрипты W3C DOM и таблицы совместимости
- Ссылка на Gecko DOM
- Документация по khtml Library API