UF1841: Elaboración de documentos web mediante lenguajes de marca
2. Lenguajes de marcado generales
1. Introducción
HTML es el lenguaje básico que se utiliza para escribir los documentos de la World Wide Web. Cuando el navegador accede a estos documentos, interpreta el código que los constituye y muestra al usuario la información traducida.
Los documentos HTML son ficheros de texto (con la extensión “.html” o “.htm”) que pueden ser editados y creados a partir de cualquier editor de texto plano (el Bloc de notas de Windows o la aplicación TextWrangler para Mac). Estas aplicaciones se utilizan para escribir texto sin formato y no permiten la inclusión de imágenes ni demás recursos multimedia. También existen aplicaciones de edición web que incorporan su propio editor de código HTML (además de otras muchas herramientas).
2. Historia de HTML y XHTML. Diferencias entre versiones
El desarrollo de cualquier actualización en un lenguaje de programación es un proceso complejo que requiere un acuerdo con las diferentes organizaciones de estandarización (ISO, ANSI, IEEE, etc.).
En cuanto a HTML, existen un conjunto de niveles definidos por el W3C que se corresponden con las diferentes versiones de este lenguaje que se han ido estableciendo por este organismo. El W3C es una comunidad internacional que trabaja para crear estándares para la WWW.
El nivel 0 del lenguaje HTML define la estructura básica de un documento web, en la que existe una etiqueta principal: <html>. Dentro de esta, se establecen dos secciones principales: y .
El siguiente nivel, la versión 1.0 (nivel 1) añade algunos estilos físicos y lógicos. Esta definición del lenguaje resultó ser insuficiente, por lo que fue necesario añadir ciertos comandos que mejoraran el aspecto de los documentos web.
La estructura lógica de un documento está formada por las partes y relaciones que lo constituyen. Por otro lado, la estructura física indica el aspecto del documento, ya sea sobre el papel o en la pantalla donde se visualice (sus componentes físicos, el lugar donde se colocan sus elementos y la tipografía de los textos que contiene).
Versión 2.0: la principal novedad de esta versión consistía en la inclusión de los formularios.
El nivel 3 (HTML 3.0): se desarrolló con el objetivo de evolucionar, desde el punto de vista lógico, el estándar. Aparición del primer navegador de Netscape, que incorporaba una gran variedad de mejoras especiales. La versión 3.2 se encargó de legalizar la mayoría de estas mejoras, incorporándolas formalmente al modelo propuesto por el W3C.
Versión HTML 4.0 (1997): trató de normalizar el lenguaje y añadirle una serie de mejoras propuestas por los fabricantes de navegadores. Este estándar fue modificado ligeramente en 1999, adoptando el nombre de HTML 4.01. Durante casi una década, este fue el último estándar del lenguaje HTML.
Desde que se publicó HTML 4.01, el trabajo de estandarización de HTML se detuvo y el W3C se dedicó a desarrollar el estándar XHTML (primera versión y revisión en los años 2000-2002).
XHTML 1.0 surgió como una adaptación de HTML 4.01 al lenguaje XML, por lo que conserva casi todas las etiquetas y características del primero, aunque añadiendo ciertas restricciones y elementos del segundo.
El XHTML se presentó como una evolución de HTML, que se debería abandonar en el futuro. No obstante, para la inmensa mayoría de los desarrolladores de páginas web, suponía un esfuerzo considerable adaptar lo que se escribía en HTML a XHTML, por lo que, cada vez más, iban abandonando su uso. Por este motivo, el W3C aceptó, con el tiempo, que el lenguaje XHTML pudiera coexistir con HTML.
Después de varios años sin actividad, se constituyó (en el año 2004), al margen del W3C, el WHATWG (Web Hypertext AppUcation Technology Working Group), el cual estaba promovido por empresas tales como Apple, Opera, Google o la fundación Mozilla. El propósito de este grupo era el desarrollo de una nueva versión del estándar, enfocándola fundamentalmente desde un punto de vista práctico y no académico (como hasta ahora). Esta versión se conocería como HTML5. El W3C reconoció este trabajo y lo utilizó como base para su propia actividad.
El nuevo estándar no cambia el lenguaje en lo esencial, aunque sí que incorpora recursos para facilitar el trabajo con las nuevas herramientas de gestión de contenidos tales como blogs, agregadores, páginas personales, etc., y con la inclusión de elementos multimedia tales como vídeo y audio.
Otra de las grandes novedades que incorpora el nuevo estándar HTML5 es la inclusión en el estándar del DOM, que siempre había sido tratado de forma separada.
DOM (Document Object Model): estructura de objetos que genera el navegador en el momento en el que carga un documento web. Esta estructura se puede alterar (por ejemplo, mediante JavaScript) con el propósito de modificar dinámicamente los contenidos y la apariencia de la página en cuestión.
Importante: no todos los navegadores actuales soportan todos los elementos y funcionalidades nuevas definidas en HTML5. De todas formas, los principales fabricantes de navegadores van mejorando la compatibilidad de sus productos con este nuevo estándar.
3. Estructura de un documento
Fragmento de código escrito en HTML que permite comprender la estructura básica de los documentos:
<[INSERTAR IMAGEN/CÓDIGO]>
3.1. Versiones
La línea de código que se muestra a continuación es lo primero que hay que incluir en cualquier documento escrito en HTML5, la cual informa al navegador acerca del tipo y versión de documento que se está creando:
<[INSERTAR IMAGEN/CÓDIGO]>
Esta etiqueta es un comentario especial que no se visualiza en el navegador y debe escribirse sin espacios ni líneas que la precedan. De esta manera, el modo estándar del navegador es activado y las etiquetas y demás novedades propias del nuevo estándar HTML5 son interpretadas siempre que el navegador sea capaz de reconocerlas. En caso contrario, son ignoradas. La simplificación de la etiqueta DOCTYPE ha sido uno de los cambios del estándar HTML5.
3.2. Cabecera
Después de la etiqueta DOCTYPE, es necesario incluir la directiva , dentro de la cual se incluyen dos grandes bloques: la cabecera y el cuerpo.
La etiqueta de cabecera () tiene la siguiente sintaxis:
<[INSERTAR IMAGEN/CÓDIGO]>
El código HTML que se incluye dentro de esta directiva va a permitir, fundamentalmente:
Definir el título del documento web.
Declarar la codificación de caracteres a utilizar.
Indicar información relacionada con el documento en sí.
Incorporar archivos externos con estilos CSS y código JavaScript.
Escribir código JavaScript y CSS.
Todo esto se consigue insertando y configurando una serie de etiquetas. Casi toda la información que se incluye dentro de la directiva no es visualizada por el usuario. Algunas de las etiquetas más importantes que se suelen incluir dentro de la cabecera de los documentos HTML son: , y .
Esta etiqueta se puede utilizar para definir el juego de caracteres a utilizar en la visualización del documento. En el caso de que se desee asegurar la compatibilidad del documento con los caracteres propios de nuestro idioma (acentos, ñ, etc.) y de los de Europa Occidental, será necesario escribir el siguiente código:
<[INSERTAR IMAGEN/CÓDIGO]>
La etiqueta también se suele utilizar para otros propósitos. Principales atributos de esta directiva:
name: indica un tipo de información (metainformación) que se desea incluir, la cual está relacionada con el documento en sí:
description: indica que la información se refiere a los contenidos más relevantes de la página.
keywords: indica que la información se refiere a un conjunto de palabras clave a utilizar por los buscadores.
author: indica que la información se refiere al nombre del autor de la página.
generator: indica que la información se refiere al nombre de una o varias aplicaciones informáticas que se han utilizado en el desarrollo de la web.
content: en este atributo se escribe la metainformación propiamente dicha.
http-equiv: este atributo se usa para especificar algún tipo de instrucción a tener en cuenta por el navegador.
Un atributo es un conjunto formado por un nombre y un valor que se localiza dentro de la etiqueta de inicio de un elemento. Este par (nombre-valor) indica alguna propiedad asociada al elemento en cuestión.
Dentro de la etiqueta se escribe el título de un documento web. Su sintaxis es:
<[INSERTAR IMAGEN/CÓDIGO]>
Esta etiqueta se utiliza para incorporar archivos externos (ajuntar hojas de estilo CSS). Para este caso, la sintaxis de esta etiqueta es la siguiente:
<[INSERTAR IMAGEN/CÓDIGO]>
Hojas de estilo CSS (Cascading Style Sheet o Hoja de Estilos en Cascada): archivo que contiene un conjunto de reglas que definen el aspecto de uno o varios de los elementos que constituyen a un documento o sitio web completo.
Antes de la aparición de HTML5, se hacía necesario añadir un atributo adicional a la etiqueta : el atributo type, el cual se utilizaba para indicar el tipo (MIME) de fichero que estaba incorporando. En el caso de las hojas de estilo, este atributo debía tener el valor text/css.
Aunque es recomendable el uso de archivos externos, esta no es la única manera de incluir código CSS en un documento web. Dicho código también puede escribirse (utilizando la etiqueta