Как связаны DOM и HTML? Является ли одно подмножество другого, более абстрактным, чем другое? Является ли HTML расширением DOM? Или они описывают довольно несвязанные понятия (связанные только с тем, что вы можете преобразовать из HTML в DOM)? Как бы вы нарисовали эти 2 на одном снимке, если бы вам пришлось?
Например, какова цель этих спецификаций разницы. Как первая, так и последняя ссылки содержат информацию о HTMLElement..
- http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/
- http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/
- http://www.w3.org/TR/html5/
Я нашел возможный ответ на этот вопрос здесь: http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-1176245063-h2, который
Целями API DOM, специфичными для HTML, являются:
- чтобы специализироваться и добавлять функциональные возможности, относящиеся конкретно к документам и элементам HTML.
- ...
- чтобы обеспечить удобные механизмы, где это необходимо, для обычных и часто используемых операций с документами HTML.
Означает ли это, что 3-я ссылка в списке выше расширяет ядро DOM, которое описано в 1-й ссылке?
Или, если вы реализуете DOM Core, это позволяет вам манипулировать простыми документами, но если вы реализуете HTML, это дает вам как супер-DOM, который позволяет вам манипулировать более сложными объектами?
Наконец, скажем, вы хотите реализовать свой собственный браузер, который может открывать только веб-сайты HTML5 (рендеринг, а также поддержку JavaScript). Достаточно ли прочитать спецификацию, обнаруженную в 3-й ссылке, или вам сначала нужно реализовать все, что предусмотрено в DOM, а затем реализовать специфические для HTML5 вещи?
UPDATE
Наверное, мне интересно о DOM API против HTML API и DOM HTML API и API DOM HTML.