domingo, 6 de noviembre de 2011

Modelo de Objeto de Documento


DOM
El modelo de objetos del documento  (DOM) es un API (Application Programming Interface) estándar del W3C para documentos HTML y XML. Proporciona una representación estructural del documento que permite la modificación de su contenido o su presentación visual. Esencialmente, comunica las páginas web con los scripts o los lenguajes de programación.
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. Se puede acceder a cualquier cosa que se encuentre en el documento HTML o XML, y se puede modificar, eliminar o añadir usando el Modelo de Objetos del documento salvo algunas excepciones. En particular, aún no se han especificado las interfaces DOM para los subconjuntos externos e internos de XML

“Un API es el conjunto de funciones y procedimientos (O métodos, en programación orientada a objetos), que ofrece una biblioteca para ser utilizado por otro software como una capa de abstracción”

Una página web es un documento HTML que es interpretado por los navegadores en forma gráfica, permitiendo también el acceso al código

El modelo de objetos del documento (DOM) permite ver el mismo documento de otra manera, describiendo el contenido del documento como un conjunto de objetos para que un programa Javascript pueda actuar sobre ellos.

El DOM permite acceder a la estructura de una página HTML mediante el mapeo de los elementos de esta página en un árbol de nodos. Cada elemento se convierte en un nodo y cada porción de texto en un nodo de texto. Para comprender más fácilmente veamos el siguiente ejemplo:

EJEMPLO
<body>
<p>Esto es un párrafo que contiene <a href.=”#”>un enlace </a> en el medio</p>
<ul>
<li>Primera entrada en la lista</li>
<li>Segunda entrada en la lista</li>
</ul>
</body>

Como se puede apreciar en el ejemplo, el elemento a se encuentra localizado dentro del elemento p del HTML, convirtiéndose en un nodo hijo, o simplemente hijo del nodo p, de manera similar, p es el nodo padre. Los dos nodos li son hijos del mismo padre, llamándose nodos hermanos o, simplemente, hermanos.

Es importante comprender la diferencia entre elementos y nodos de textos. Los elementos, normalmente, están asociados a las etiquetas. En HTML todas las etiquetas son elementos, tales como <p> por lo que tienen atributos y contienen nodos hijos. Sin embargo, los nodos de textos no poseen atributos e hijos.

En el DOM, los documentos tienen una estructura lógica que es muy parecida a un árbol (para ser más precisos, es más bien un “bosque” o una “arboleda”, que puede contener más de un árbol) Sin embargo, el DOM no especifica que los documentos deban ser implementados como un árbol o un bosque, ni tampoco especifica cómo deben implementarse las relaciones entre los objetos. El DOM es un modelo lógico que puede implementarse de cualquier manera que se considere conveniente. En esta especificación, se usa el término modelo de estructura para describir la representación en forma de árbol de un documento, evitando la utilización de términos como “árbol” o “bosque” para evitar la implicación de una implementación en particular. Una propiedad importante de los modelos de estructura del DOM es su isomorfismo estructural: si dos implementaciones cualesquiera del modelo de objetos del documento se usan para crear una representación del mismo documento, ambas crearán el mismo modelo de estructura, con exactamente los mismos objetos y relaciones

Se eligió el nombre modelo de objetos del documento porque es un modelo de objetos en el sentido tradicional del diseño orientado a objetos: los documentos se modelizan usando objetos, y el modelo comprende no solamente la estructura de un documento, sino también el comportamiento de un documento y de los objetos de los cuales se compone. Como modelo de objetos, el DOM identifica:
-         Las 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

Tradicionalmente, la estructura de los documentos SGML se ha representado mediante un modelo de datos abstractos, no con un modelo de objetos. En un modelo de datos abstractos, el modelo se centra en los datos. En los lenguajes de programación orientados a objetos, los datos se encapsulan en objetos que ocultan los datos, protegiéndolos de su manipulación directa desde el exterior. Las funciones asociadas con estos objetos determinan como pueden manipularse los objetos y son parte del modelo de objetos

El modelo de objetos del documento consiste actualmente de dos partes: el núcleo del DOM y el DOM HTML. El núcleo del DOM representa la funcionalidad usada para los elementos XML, y también sirve de base para el DOM HTML. Una implementación conforme del DOM debe implementar todas las interfaces fundamentales del capítulo con la semántica definida. Además, debe implementar el DOM HTML, las interfaces extendidas (XML) o ambas, con la semántica definida   

Saludos,
Alfredo

No hay comentarios:

Publicar un comentario