Modelo de Objeto de Documentos

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Hierarquia dos objetos num exemplo HTML DOM - Document Object Model

O Modelo de Objeto de Documento (do inglês Document Object Model - DOM) é uma convenção multiplataforma e independente de linguagem para representação e interação com objetos em documentos HTML, XHTML e XML.[1] [2] [3] Os nós de cada documento são organizados em uma estrutura de árvore, chamada de árvore DOM. Os objetos na árvore DOM podem ser endereçados e manipulados pelo uso de métodos sobre os objetos. A interface pública de um DOM é especificada em sua interface de programação de aplicações (API).

A história do Modelo de Objeto de Documento se confunde com a história da "guerra dos navegadores" do final dos anos 90 entre o Netscape Navigator e o Microsoft Internet Explorer, bem como com a do JavaScript e do JScript, as primeiras linguagens de script a serem implementadas amplamente nos mecanismos de leiaute dos navegadores web.

A API DOM oferece uma maneira padrão de se acessar os elementos de um documento, além de se poder trabalhar com cada um desses elementos separadamente, e por esses motivos criar páginas altamente dinâmicas.

DOM Legado[editar | editar código-fonte]

JavaScript foi lançada pela Netscape Communications em 1995 dentro do Natscape Navigator 2.0. O concorrente do Netscape, a Microsoft, lançou o Internet Explorer 3.0 no ano seguinte com uma adaptação do JavaScript chamada JScript. JavaScript e JScript permitiram aos desenvolvedores web cria páginas web com interatividade do lado cliente. As facilidades para detecção de eventos gerados pelo usuário e modificação de documento HTML na primeira geração destas linguagens eventualmente tornaram-se conhecidas como "DOM nível 0" ou "DOM Legado". Nenhum padrão independente foi desenvolvido para o DOM nível 0, mas foi parcialmente descrito na especificação HTML 4.

O DOM Legado era limitado nos tipos de elementos que poderiam ser acessados. Formulário, ligação e elementos de imagem poderiam ser referenciados com um nome de hierarquia que iniciava com o objeto de documento raiz. Um nome hierárquico poderia fazer uso dos nomes ou do índice sequencial dos elementos percorridos. Por exemplo, um elemento de entrada de um formulário poderia ser acessado como "document.nomeDoFormulario.nomeDaEntrada" ou "document.forms[0].elements[0]".

O DOM Legado permitiu a validação de formulário do lado cliente e o efeito popular de "rollover".

DOM Intermediário[editar | editar código-fonte]

Em 1997, a Netscape e a Microsoft lançaram a versão 4.0 do Netscape Navigator e do Internet Explorer, respectivamente, adicionando suporte para Dynamic HTML (DHTML), funcionalidade que permite alterações a um documento HTML carregado. A DHTML necessitava de extensões ao objeto de documento rudimentar que estava disponível nas implementações do DOM Legado. Apesar de que as implementações do DOM Legado fossem amplamente compatíveis, uma vez que o JScript sera baseado no JavaScript, as extensões DOM DHTML eram desenvolvidas em paralelo por cada fabricante de navegador e permaneciam incompatíveis. Estas versões do DOM tornaram-se conhecidas como "DOM Intermediário".

Padronização[editar | editar código-fonte]

O World Wide Web Consortium (W3C), fundado em 1994 para promover padrões abertos para a World Wide Web, persuadiu a Netscape Communications e a Microsoft, juntamente com outras companhias, a desenvolverem um padrão para as linguagens de script de navegador, chamada "ECMAScript". A primeira versão do padrão foi publicada em 1997. Lançamentos subsequentes de JavaScript e JScript implementariam o padrão ECMAScript para maior compatibilidade entre navegadores.

Após o lançamento do ECMAScript, o W3C começou a trabalhar em um DOM padronizado. O padrão DOM inicial, conhecido como "DOM Nível 1", foi recomendado pela W3C no início de 1998. Cerca da mesma época, o Internet Explorer 5.0 navegava com suporte limitado para DOM Nível 1. O DOM Nível 1 fornecia um modelo completo para um documento HTML ou XML inteiro, incluindo meios de alterar qualquer porção do documento. Navegadores sem conformidade como o Internet Explorer 4.x e Netscape 4.x ainda foram amplamente utilizados até 2000.

O DOM Nível 2 foi publicado no início de 2000. Ele introduziu a função "getElementById" bem como um modelo de evento e suporte para espaços de nomes XML e CSS.

O DOM Nível 3, a versão atual da especificação DOM, publicada em abril de 2004, adicionou suporte a XPath e manipulação de evento pelo teclado, bem como uma interface para serialização de documentos como XML.

O DOM Nível 4 atualmente está sendo desenvolvido. A Última Chamada de Projeto de Trabalho (Last Call Working Draft) foi lançada em julho de 2014.[4]

Em 2005, muitas partes do DOM W3C foram bem suportadas pelos navegadores populares habilitados com o ECMAScript, incluindo o Microsoft Internet Eplorer versão 6 (de 2001), Opera, Safari e navegadores baseados no Gecko (como Mozilla, Firefox, SeaMonkey e Camino).

Aplicações[editar | editar código-fonte]

Navegadores web[editar | editar código-fonte]

Para apresentar um documento como uma página HTML, a maioria dos navegadores utilizam um modelo internacional similar ao DOM. Os nós de cada documento são organizados em uma estrutura de árvore, chamada de árvore DOM, com o nó superior denominado "Document object" (objeto Documento). Quando uma página HTML é apresentada nos navegadores, o navegador baixa o HTML na memória local e automaticamente analisa-o para mostrar a página na tela. O DOM é também a maneira que o JavaScript transmite o estado do navegador em páginas HTML.

Implementações[editar | editar código-fonte]

Navegadores[editar | editar código-fonte]

Inicialmente, quando cada navegador suportava exclusivamente o seu próprio interpretador DOM, eram inúmeros os problemas de operatividade. De forma a ser cross-browser compatível, isto é, suportando vários navegadores, uma grande parte do código DHTML teve de ser rescrito para cada navegador ser suportado. A promessa da especificação era de simplificar substancialmente o desenvolvimento de aplicações Web complexas.

O Level 1 do DOM tem sido uma recomendação desde 1 de Outubro de 1998. O esforço de normalização não trouxe uma mudança imediata por que navegadores poucos flexíveis como Internet Explorer 4.x e Netscape 4.x ainda eram mundialmente usados em 2000. Em 2005, uma grande parte da especificação DOM já era muito bem suportada pelos mais comuns navegadores que tinham suporte ao JavaScript, incluindo o Internet Explorer (versão 5 e 6), navegadores baseados no Gecko (como Mozilla, Firefox e Camino), Konqueror, Opera e Safari.

Ligações externas[editar | editar código-fonte]

Referências

  1. Document Object Model (DOM) W3C. Visitado em 25/10/2014. "O Modelo de Objeto de Documento é uma interface neutra em relação a plataforma e linguagem que permitirá aos programas e scripts para acessar dinamicamente e atualizar o conteúdo, estrutura e estilo de documentos."
  2. XML DOM Tutorial W3Schools. Visitado em 25/10/2014.
  3. O que é o DOM? Tableless. Visitado em 25/10/2014.
  4. http://www.w3.org/TR/dom/


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.