В общих чертах DOM - это модель для структурированного документа.
Это центральная концепция современной ИТ, и ни один разработчик не может отказаться от DOM. Будь то в .net, в HTML, в XML или других доменах, где он используется.
Это относится ко всем документам (текстовые документы, HTML-страницы, XML-файлы и т. Д.). В сфере разработки это применимо в основном к доменам HTML и XML со слегка отличающимися значениями.
HTML
На арене HTML DOM был представлен, чтобы поддержать революцию, названную в конце 90-х годов «динамическим HTML». До IE4 и Netscape 4.0 документы HTML, которые нельзя было изменить внутри браузера (все, что вам было нужно в эти отдаленные времена для ускорения веб-страницы, это «анимированный GIF» !!!! и HTML версии 3.2).
Поэтому динамическое манипулирование внутри браузера документом, отправленным сервером, было огромной революцией и положило начало привлекательным веб-сайтам, которые мы видим сегодня.
Javascript был представлен Netscape (крещеный javascript для поиска новых тенденций Java, но не связан) и поддерживался как HTTP-серверами Netscape, так и браузерами Netscape, при этом Internet Explorer охотно следовал за перемещением внутри браузера. Однако, когда javascript используется для управления содержимым документа, вам нужен простой способ обозначить часть документа, с которой вы хотите взаимодействовать. Вот где приходит DOM. Хотя HTML 4 не «хорошо сформирован», браузеры создают внутреннее представление страницы с элементом «body» вверху и множеством html-тегов внизу в иерархической организации (дочерние узлы, родительские элементы). атрибуты узлов и т. д.). DOM - это модель, лежащая в основе API, которая позволяет перемещаться по этой иерархии.
Поскольку браузеры Netscape и IE были конкурирующими решениями, было мало шансов, что NS и IE DOM сойдутся. W3C вмешался, чтобы позволить меньшим производителям браузеров участвовать в конкурсе, и попытался стандартизировать DOM. Отсюда и W3C DOM. Все, что он сделал, это просто ввел другой диалект, и, как все знают, потребовались годы и два серьезных конкурента, чтобы заставить MS соблюдать стандарты.
Несмотря на то, что более современные методы навигации, такие как JQuery, имеют сокращенные обозначения для DOM, они внутренне полагаются на DOM.
XML
HTML продемонстрировал недостатки в проявлении снисходительности к «правильности» документов, и это породило новое увлечение: XML. На веб-арене XML и XSLT впервые поддерживались IE5 и применялись во многих других областях, а не только при отображении страниц.
Для синтаксического анализа XML, в основном в Java Word, вы должны разработать парсер SAX, который в основном является плагином для механизма SAX, в котором вы описываете, что должен делать механизм для всех событий XML (тегов ...), с которыми он столкнется в разобранный документ. Разработка синтаксического анализатора SAX не так проста, но это решение занимает мало места.
Однако вы должны разработать конкретную для каждого нового типа документа ...
Вскоре библиотеки начали анализировать любой документ и строить карту иерархии в памяти. Поскольку он также имел те же понятия корня, родителей и детей (унаследованные от SGML через HTML), его также называли DOM, и имя применяется независимо от библиотеки.
Другие домены
Концепция DOM не ограничена или даже изобретена для HTML или XML. DOM - это общая концепция, применимая к любому документу, особенно к тем (в подавляющем большинстве из них), показывающая иерархическую структуру, в которой вам нужно ориентироваться. Вы можете говорить о DOM документа MS-Word, и есть API для навигации по ним.