Кратко
- W3C выпустил рекомендацию DOM Level 1 1 октября 1998 года. Она задала независимый от платформы и языка программирования доступ к структуре и содержимому документов HTML и XML.
- Стандарт описал логические объекты документа, связи между ними и доступные операции, но не диктовал приложениям внутренний способ хранения. Первый уровень охватил Core и HTML; события и ряд других вопросов оставили на будущее.
На экране веб-страница казалась вполне осязаемой. Для программы, которой нужно было добраться до абзаца или ячейки таблицы, она нередко напоминала шкаф без ручек. Один браузер открывал его своим секретным жестом, редактор — другим. Переносимый скрипт обрастал оговорками быстрее, чем страница ссылками. Рекомендация W3C DOM Level 1 предложила общие имена и операции для частей документа. Элемент можно найти, перейти к соседним узлам, изменить содержимое, добавить новый фрагмент — и говорить при этом на публичном языке интерфейсов.
Самая тонкая мысль находится в предисловии к рекомендации. У документа есть логическая структура, похожая на дерево. У узлов есть положение, связи и функции. Если две совместимые реализации показывают один документ, их структурные модели должны соответствовать друг другу. Но хранить данные именно деревом внутри никто не обязан. Два шкафа могут быть собраны из разного материала; посетителю важнее, чтобы нужный ящик имел узнаваемую ручку.
Изначальная задача состояла в переносимости скриптов и программ между браузерами. К обсуждению, согласно предисловию, присоединились разработчики редакторов HTML и XML, а также хранилищ документов. Им всем требовалась связь с тем, что находится внутри страницы, а не только с готовым изображением на экране. DOM Core описал общие интерфейсы документа; на них опирались интерфейсы, специфичные для HTML. Определения записали на независимом от языка IDL и снабдили привязками для Java и ECMAScript. IDL уточнял договоренность для пользователя интерфейса, не предписывая каждому производителю одинаковую архитектуру программы.
Выгода видна на будничной задаче. Программа доходит до ячейки таблицы, читает ее текст, находит родительский элемент, вставляет новый узел и сохраняет логический порядок частей. Браузер может показывать результат одним способом, редактор — другим, аналитический инструмент — третьим. Их внутренняя работа различается; названия и отношения объектов остаются понятными. Чем меньше автору приходится знать о частных обходных путях каждого продукта, тем свободнее его код путешествует вместе с документом.
В сообщении W3C от 1 октября 1998 года DOM Level 1 представлен как стандартный API для динамической работы с документами и данными. Цифра в названии здесь выполняла полезную работу: она не давала принимать первый этаж за все здание. Структура и содержимое входили в этот уровень; события, контроль доступа, безопасность потоков, управление отображением таблиц стилей и проверка по схемам, как отмечало предисловие, ждали дальнейшей работы. Ручку на дверь уже прикрутили. Звонок и охранник пока жили в других планах.
Историческое изменение заключалось в появлении общей границы вокруг документа как набора доступных программе объектов. HTML и XML не слились в один язык, а приложения не превратились в одинаковые машины. Зато в месте встречи независимых инструментов с документом появились общие обозначения его частей и действий с ними. Веб-страницу можно было не просто рассматривать: за нее стало возможно взяться без личного знакомства с мастером каждого шкафа.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





