Имеются две версии, или два «уровня», стандарта DOM. Модель DOM уровня 1 (DOM Level 1) была стандартизована в октябре 1998 года. Она определяет базо_ вые DOM_интерфейсы, такие как Node, Element, Attr и Document, а также различ_ ные интерфейсы, специфические для HTML. Модель DOM уровня 2 (DOM Level 2) была стандартизована в ноябре 2000 года. Помимо некоторых измене_ ний в базовых интерфейсах, эта версия DOM была сильно расширена за счет оп_ ределения стандартных программных интерфейсов (API) для работы с события_ ми документа и каскадными таблицами стилей (CSS), а также с целью предос_ тавления дополнительных инструментальных средств для работы с непрерыв_ ными областями документов.
Стандарт DOM Level 2 стал модульным. Модуль Core, определяющий основную древовидную структуру документа с помощью (среди прочих) интерфейсов Docu_ ment, Node, Element и Next, – это единственный обязательный модуль. Все осталь_ ные модули не обязательны и могут либо поддерживаться, либо нет в зависимо_ сти от реализации. Реализация DOM в веб_броузере, очевидно, должна поддер_ живать модуль HTML, т. к. веб_документы пишутся на языке HTML. Броузеры, поддерживающие таблицы CSS_стилей, обычно поддерживают и модули Style_ Sheets и CSS, поскольку (как мы увидим в главе 16) CSS_стили играют ключевую
1 Имя className обманчиво, т. к. помимо указания имени одного класса это свойст_ во (и представляемый им HTML_атрибут) может содержать список имен классов, разделенных пробелами.
15.4. Обзор объектной модели W3C DOM
роль в DHTML_программировании. Аналогично, поскольку большинство инте_ ресных JavaScript_программ требует средств обработки событий, можно предпо_ лагать поддержку веб_броузерами модуля Events спецификации DOM. К сожале_ нию, модуль Events лишь недавно был реализован в Microsoft Internet Explorer, и как это будет описано в главе 17, обработка событий в ранней версии DOM, в W3C DOM и в IE DOM выполняется по_разному.
В данной книге описываются модели DOM Level 1 и DOM Level 2; соответствую_ щий справочный материал вы найдете в IV части книги.
В W3C продолжаются работы над расширением стандарта DOM, и были выпуще_ ны спецификации уровня 3 (Level 3) для некоторых модулей, включая версию модуля Core. Функциональные возможности, определяемые в модели DOM Level 3, практически не используются в веб_броузерах (хотя в Firefox частичная поддержка имеется) и в этом издании книги не описываются.
Кроме того, иногда вы можете встретить упоминание о модели DOM Level 0. Этот термин не относится к какому_либо формальному стандарту, а служит для не_ формальной ссылки на общие средства объектных моделей документа, реализо_ ванных в Netscape и Internet Explorer до стандартизации консорциумом W3C. То есть термин «DOM Level 0» является синонимом термина «ранняя версия DOM».