Document Object Model (DOM)

Document Object Model (DOM), uma especificação de interface de programação a ser desenvolvida pelo World Wide Web Consortium (W3C), permite a um programador criar e modificar páginas HTML e documentos XML como objectos de programa de pleno direito. Atualmente, HTML (Hypertext Markup Language) e XML (Extensible Markup Language) são formas de expressar um documento em termos de uma estrutura de dados. Como objetos de programa, tais documentos poderão ter seu conteúdo e dados "escondidos" dentro do objeto, ajudando a garantir o controle sobre quem pode manipular o documento. Como objetos, os documentos podem levar consigo os procedimentos orientados ao objeto chamados métodos. O DOM é um esforço estratégico e aberto para especificar como fornecer controle de programação sobre documentos. Ele foi inspirado em parte pelo advento dos novos recursos HTML geralmente chamados de HTML dinâmico e como uma forma de encorajar um comportamento consistente do navegador com páginas da Web e seus elementos.

O Modelo de Objetos de Documentos oferece dois níveis de implementação de interface: DOM Core, que suporta XML e é a base para o próximo nível, e DOM HTML, que estende o modelo a documentos HTML. Aqui estão alguns destaques:

  • Um elemento HTML ou XML (com a possibilidade de algumas exceções) será endereçável individualmente através de programação.
  • A especificação será independente do idioma. A especificação, quando disponível, será descrita usando a linguagem de definição de interface (IDL) do padrão aberto da indústria CORBA.
  • >li>Além disso, a interface será descrita em termos da linguagem de programação Java e ECMAScript, uma linguagem de script padrão da indústria baseada em JavaScript e JScript.
  • DOM não deve ser confundida com o Component Object Model (COM) ou Distributed Component Object Model (DCOM) da Microsoft. COM e CORBA são formas independentes de linguagem para especificar objetos e podem ser usadas para criar objetos DOM (documentos) da mesma forma que linguagens específicas como Java poderia.

Progresso da especificação do Modelo de Objeto de Documento pode ser seguido no site do W3C.