Я часто слышу о "уровне DOM 1", "DOM level 2", "DOM level 3" и "DOM level 4" и понял, что я не знаю разницы между ними или их отношением к каждому из них другие.
Я знаю самые основы - DOM - это Document Object Model, и это то, что обеспечивает доступ к языкам сценариев (в частности, но, насколько я знаю, не ограничиваясь различными версиями ECMAScript, такими как ECMAScript 5.1) для доступа к элементам HTML-документа. (Некоторые сайты, которые я читал, например, dom введение на quirksmode - говорят, что это для любого XML-документа, но HTML является достаточным подмножеством.)
Даты на w3c DOM технических отчетах, по-видимому, подразумевают, что каждый последующий уровень DOM заменяет предыдущие.
К сожалению, лучшая ссылка, которую я нашел для разъяснения, была wikipedia, которая, похоже, говорит то же самое - в разделе стандартизации говорится, что последующие уровни добавлены "дополнительная функциональность, не говоря уже об удалении чего-либо.
Теперь, для моих вопросов, которые могут быть быстрым огнем, но, надеюсь, выражают общее состояние моего невежества:
- Какое отношение одного уровня DOM к другому?
- Являются ли DOM нижнего уровня полными подмножествами DOM более высокого уровня? Удалена ли какая-либо функциональность по мере продвижения уровня DOM? Когда я вижу утверждения типа
The level 1 DOM will work fine on an HTML document
иIn the Level 1 DOM, each object, whatever it may be exactly, is a Node
(оба из вставки quirksmode), означает ли это, что такие утверждения верны для уровней 2, 3 и 4? (Все это один и тот же вопрос, просто заданный разными способами) - Является ссылкой на уровень DOM на самом деле немного больше, чем сокращенный способ того, насколько современный пользовательский агент должен работать для определенной функции?
Очевидно, что я могу изучать каждую спецификацию технических отчетов w3c DOM, но надеялся получить ответы от тех, у кого есть опыт из первых рук. Просто взглянув на раздел изменений спецификации для уровня DOM 3, я вижу, что большинство изменений с 2 по 3 были дополнениями, хотя некоторые из ключевых реализаций в интерфейс Node изменился. Изменились ли эти изменения?
Я хотел бы сделать больше, чем просто кивнуть в следующий раз, когда кто-нибудь скажет мне: "О, этот уровень DOM 2, так что все в порядке", поэтому приветствую любые ссылки, которые я пропустил или из первых рук, которые я не получил из моих исследований.