¿Te gusta la programación? ¿Te gusta hasta el punto de reunir el empeño suficiente como para dedicar a ello tu vida profesional? Como bien sabes, el campo de la programación es amplio y con diferentes especialidades. En concreto, hoy te lo contaremos todo sobre el modelo DOM o Modelo de Objetos de Documento. ¡No te pierdas ni una palabra de este artículo!

 

¿Qué es el modelo DOM?

El Modelo de Objetos del Documento, cuyas siglas son DOM, es una interfaz de programación de aplicaciones para documentos HTML y XML. El modelo DOM define la estructura lógica de los documentos y el modo en que se accede a ellos y se los manipula. Con el Modelo de Objetos del Documento, los programadores pueden construir documentos, navegar por su estructura, y añadir, modificar o eliminar elementos y contenido.

¿Sabías que…?

Se puede acceder a cualquier cosa que se encuentre en un documento HTML o XML, y se puede modificar, eliminar o añadir usando el Modelo de Objetos del Documento, salvo algunas excepciones.

Uno de los objetivos más importantes del modelo DOM es proporcionar una interfaz estándar de programación que pueda utilizarse en distintos entornos y aplicaciones. Además, un dato muy importante es que el modelo DOM puede ser utilizado en cualquier lenguaje de programación, y puede ser implementado en cualquier entorno de computación, y no requiere las librerías de enlazado de objetos.

Podríamos decir que el modelo DOM es un API de programación para documentos capaz de mimetizarse con la estructura del documento al que modeliza.

 

Modelo de Objetos de Documento

Los documentos se modelizan usando objetos, y el modelo comprende la estructura de un documento y el comportamiento de un documento y de los objetos de los cuales se compone. Así, el  modelo DOM identifica:

  • Interfaces y objetos usados para representar y manipular un documento.
  • La semántica de estas interfaces y objetos, incluyendo comportamiento y atributos.
  • Las relaciones y colaboraciones entre estas interfaces y objetos.

El modelo DOM está integrado por dos partes, el Núcleo del DOM y el DOM HTML. El núcleo DOM representa la funcionalidad usada para los documentos XML, y también sirve de base para el DOM HTML. Además, su función es implementar o bien el DOM HTML o bien las interfaces extendidas (XML), o ambas, con la semántica definida.

¿Sabías que…?

El modelo DOM surgió como una especificación para permitir que los programas Java y los scripts de JavaScript fueran portables entre los navegadores web.

Estructura del modelo DOM

Dentro del mundo de la programación web, el modelo DOM especifica interfaces que pueden utilizarse para manipular documentos XML o HTML. En un futuro, se prevé que el plan para la especificación del modelo DOM será proporcionar:

  • Un modelo de estructura para el subconjunto interno y el subconjunto externo.
  • Validación contra un esquema.
  • Control para representar documentos por medio de hojas de estilo.
  • Control de acceso.
  • Seguridad de hilos de proceso o threads.
  • Eventos.

En el modelo DOM los documentos tienen una estructura parecida a un árbol, creando una estructura jerárquica en la que de un objeto principal pueden depender varios secundarios. Esto se ve claramente en la estructura que tiene la página de HTML, la cual consta de etiquetas anidadas.

La estructura del DOM está integrada por nodos, que se relacionan unos con otros en una estructura jerárquica, y cada nodo tiene un nodo superior del que depende, que es el nodo padre. Además, cada nodo puede tener 0, 1 o varios nodos dependientes de él, llamados nodos hijos.

Los nodos que están a un mismo nivel, dependiendo todos ellos del mismo nodo padre, son nodos hermanos. En esta curiosa familia de nodos, todo el árbol del DOM depende de un nodo principal a partir del cual se generan todos, el nodo Document.

 

Tipos de nodos

  • Document: nodo raíz del que derivan todos los demás.
  • Element: Cada una de las etiquetas HTML. Es el único nodo que puede contener atributos y del que pueden derivar otros nodos.
  • Attr: Cada atributo de una etiqueta genera un nodo Attr, el cual contiene también su valor (como una propiedad). Es hijo del nodo element (etiqueta) que lo contiene.
  • Text: Contiene el texto encerrado por una etiqueta HTML (hijo del nodo Element).
  • Comment: Los comentarios incluidos en la pagina HTML también generan sus nodos.

Existen, además, otros tipos de nodos que se usan en el lenguaje XML, pero que en HTML, si se emplean, suelen ser elementos fijos bien definidos. Son los siguientes:

  • CDatasection: Nodo que puede contener caracteres de escape escritos normalmente.
  • Document Type: Declaración o etiqueta Doctype.
  • DocumentFragment: Fragmento o porción del árbol del DOM: permite a Javascript seleccionar un trozo del documento.
  • Entity: Carácter de escape o Entidad en XML.
  • EntityReference: Referencia a entidad XML.
  • Processing Instruction: Instrucciones de procesamiento.
  • Notation Anotaciones: parecido a "comment", pero puede salir en pantalla en XML.

Como has podido comprobar, el modelo de objetos de documento es tomado por la mayoría de lenguajes de programación (fundamentalmente XML y HTML) como referencia para la organización de su sintaxis. Si tú también quieres trabajar con el modelo DOM, conocer sus entresijos y comprenderlo, hablar su misma lengua; evidentemente necesitas una preparación específica que te acredite como profesional en programación web.

 

¡Sé especialista en el modelo DOM!

En nuestro curso de Programador Web HTML5, CSS3 y JavaScript. MCP te prepararemos para que manejes a la perfección la estructura jerárquica del modelo DOM, donde, como ya sabes, existen varios objetos y unos dependen de otros. ¡Tú dependerás únicamente de tu talento, esfuerzo y preparación y las oportunidades laborales te lloverán como agua de Mayo! ¿Quieres comprobarlo? ¡Consúltanos ya!