Modelo de objetos de documento (DOM)

Document Object Model (DOM), una especificación de interfaz de programación desarrollada por el World Wide Web Consortium (W3C), permite a un programador crear y modificar páginas HTML y documentos XML como objetos de programa completos. Actualmente, HTML (lenguaje de marcado de hipertexto) y XML (lenguaje de marcado extensible) son formas de expresar un documento en términos de una estructura de datos. Como objetos de programa, dichos documentos podrán tener su contenido y datos "ocultos" dentro del objeto, lo que ayudará a garantizar el control sobre quién puede manipular el documento. Como objetos, los documentos pueden llevar consigo los procedimientos orientados a objetos llamados métodos. DOM es un esfuerzo estratégico y abierto para especificar cómo proporcionar control de programación sobre los documentos. Se inspiró en parte en el advenimiento de las nuevas capacidades HTML, generalmente llamadas HTML dinámico y como una forma de fomentar un comportamiento coherente del navegador con las páginas web y sus elementos.

El modelo de objeto de documento ofrece dos niveles de implementación de interfaz: DOM Core, que admite XML y es la base para el siguiente nivel, y DOM HTML, que extiende el modelo a documentos HTML. A continuación se muestran algunos aspectos destacados:

  • Cualquier elemento HTML o XML (con la posibilidad de algunas excepciones) será direccionable individualmente mediante programación.
  • La especificación será independiente del idioma. La especificación, cuando esté disponible, se describirá utilizando el lenguaje de definición de interfaz (IDL) del estándar abierto de la industria CORBA.
  • Además, la interfaz se describirá en términos del lenguaje de programación Java y ECMAScript, un lenguaje de script estándar de la industria basado en JavaScript y JScript.
  • DOM no debe confundirse con el Modelo de objetos componentes (COM) o el Modelo de objetos componentes distribuidos (DCOM) de Microsoft. COM y CORBA son formas independientes del lenguaje de especificar objetos y podrían usarse para crear objetos DOM (documentos) al igual que los lenguajes específicos como Java.

El progreso de la especificación del Modelo de objetos de documento se puede seguir en el sitio web del W3C.