4.3. Lenguaje Extensible de Marcado de Hipertexto.
Los lenguajes de marcas, también denominados lenguajes de marcado o lenguajes de descripción de documentos, construyen un conjunto de reglas que definen todo aquello que es parte de un documento digital, pero que no pertenece al texto del mismo. Los lenguajes de marcas no son lenguajes de formato similares a los lenguajes que se usan en Internet como los de descripción de páginas (archivos PostScript, archivos .pdf, etc.) ni son lenguajes de programación (Java, Perl, C++...), sino que se trata de lenguajes orientados a definir la estructura y la semántica de un documento. En realidad, más que de lenguajes, podríamos hablar de metalenguajes o sistemas formales mediante los cuales se añade información o codificación a la forma digital de un documento bien para controlar su procesamiento, bien para representar su significado. En un documento existen distintos niveles de información: por un lado, los datos que conforman el contenido de un documento (caracteres de contenido), y por otro, una información superpuesta al contenido, que es lo que constituye el etiquetado, marcado o "markup" (caracteres de etiquetado). Un lenguaje de marcado cumple con dos objetivos esenciales a la hora de diseñar y procesar un documento digital : • Especifica las operaciones tipográficas y las funciones que debe ejecutar el programa navegador/visualizador sobre dichos elementos. Las operaciones tipográficas son instrucciones de formato que se aplican a cada uno de los elementos de un documento digital como, por ejemplo, imprimir un título en negrita y a un determinado tamaño. • Separa un texto en los elementos de los que se compone, como por ejemplo un párrafo, un capítulo, un encabezamiento, etc. Así, pues, hay 2 tipos de marcación: • específica: describe cómo ha de formatearse el documento: fuente, tamaño, color, etc. • estructural: describe la estructura del documento: titular, párrafo, etc. En general los lenguajes de marcado siguen una sintaxis basada en el uso de marcas o etiquetas: una etiqueta que indica el principio de un elemento y otra el final del mismo. Por regla general, la mayor parte de autores distinguen 2 tipos básicos de lenguajes de marcado: • Lenguaje de marcado de procedimiento o procesado: Las anotaciones o marcas de los lenguajes de procedimiento describen la forma y el significado de las operaciones tipográficas que van a ser aplicadas a cada uno de los elementos del documento. Por ejemplo, una regla de un lenguaje de procedimiento indicaría que el título de la sección de un texto debe ser impreso en una sola línea con una fuente de seis puntos más grande que el resto del texto, con objeto de que los lectores puedan inferir que es el título. Se refiere, pues, a la apariencia física o formato (fuente, estilo de letra, tamaño, etc.) tanto del documento en pantalla como del documento impreso. • Lenguaje de marcado estructural o descriptivo: En los lenguajes estructurales las marcas o anotaciones únicamente describen la estructura lógica del documento digital y/o la descripción del contenido, no su tipografía. Aunque lo cierto es que existen 3 utilizaciones básicas de los lenguajes de marcas: los que sirven principalmente para describir el contenido (por ejemplo, las bases de datos), los que sirven para definir el formato (por ejemplo, los procesadores de textos) y los que realizan las dos funciones indistintamente (por ejemplo, el lenguaje HTML). ¿Cómo surgen los lenguajes de marcado? Dada la gran variedad de formatos existentes a la hora de archivar documentos y de los problemas que se planteaban cuando se intercambiaban archivos con las consiguientes pérdidas de formato y otras características, todos estos problemas se intentaron solucionar editando los textos en código ASCII (American Standard Code for Information Interchange) el código de 7 bits que puede representar un máximo de 128 caracteres, muchos de ellos no imprimibles. Sin embargo, con la utilización de este código, no se podía definir el formato de un texto (por ejemplo, el uso de negrita o cursiva, o el uso de tipos de letra más grandes para los encabezamientos), ni se podían definir otras características relativas a la posición del texto, por lo que se intentó buscar un sistema de marcas con las que se pudieran determinar éstas y otras particularidades. Se acordó, pues, que las marcas deberían constar de unos caracteres ASCII especialmente reservados para ello y que deberían seguirse unas reglas sintácticas especiales. Así nació un lenguaje especial normalizado internacional para la formulación de este tipo de reglas llamado Standard Generalized Markup Language o SGML. SGML no es pues, un lenguaje en sí mismo, sino un metalenguaje y de él se deriva el lenguaje HTML o lenguaje de marcas de hipertexto, y otros muchos lenguajes. SGML SGML (Standard Generalized Markup Language) o Lenguaje de Etiquetado Generalizado Estándar es una norma ISO que permite que la estructura de un documento pueda ser definida en base a la relación lógica de sus partes. Esta estructura puede ser validada por una Definición de Tipo de Documento (DTD - Document Type Definition). La norma SGML define la sintaxis del documento y la sintaxis y semántica de DTD. En 1969 IBM ideó el lenguaje GML o Generalized Markup Language con el objetivo de crear un sistema general que permitiera la compatibilidad entre los documentos. En 1978, el Instituto Nacional Americano de Normalización (ANSI) comenzó a trabajar en las especificaciones para los procesadores de textos y el resultado fue el lenguaje SGML, que se convirtió en la Norma ISO 8879 en 1986. En SGML, el marcado de un fragmento de texto se realiza a través de las etiquetas o marcas (tag). Estas marcas se diferencian del propio texto porque aparecen entre paréntesis angulares < > en caracteres ASCII que, por tanto, se convierten en signos reservados para la sintaxis SGML.) Una pareja de marcas o etiquetas encierran el texto al que afectan. Veamos un ejemplo:
En este texto, algunas palabras aparecen en negrita, otras en cursiva y otras en negrita y cursivaque daría el siguiente resultado: En este texto, algunas palabras aparecen en negrita, otras en cursiva y otras en negrita y cursiva Con la sintaxis del lenguaje SGML se pretende poder identificar la estructura lógica de un documento a través de estas marcas. Las etiquetas marcan los distintos elementos de un texto, como por ejemplo, los encabezamientos o los párrafos, representando de la misma forma los elementos de la misma categoría. La presentación final de estos elementos viene determinada por las especificaciones de estilo especiales. La función principal del SGML es describir los tipos de documentos de forma que puedan determinarse mediante marcas las particularidades de cada tipo, en lo que se refiere a su estructura y a su visualización en pantalla y con una sintaxis única para definir las distintas partes del texto. Esto se realiza definiendo todas las etiquetas válidas para cada tipo de documento, incluyendo también las reglas relativas a la estructura lógica. Con estas reglas se puede exigir, por ejemplo, que un texto que debe asignarse a un tipo de documento definido se inicie generalmente con un encabezamiento, pero nunca que acabe con un encabezamiento. Una definición del tipo de documento o DTD (Document Type Definition) se guarda en un archivo especial con una extensión .dtd. Consta de una sucesión de comandos SGML enmarcados por los signos "<" y "", estos comandos son, fundamentalmente, ELEMENT, ENTITY y ATTLIST. El comando ELEMENT sirve para definir una etiqueta, ENTITY para indicar ciertos elementos del texto en forma de sucesiones de caracteres ASCII y para utilizar dentro del texto los caracteres reservados para la sintaxis de SGML, como los signos “menor que” o “mayor que”. El comando ATTLIST permite establecer atributos complementarios para determinados elementos concretos. Todos los atributos pertenecientes a un elemento se resumen aquí en una sola lista en la que se establecen los nombres de los atributos, así como los valores autorizados de cada atributo. Otro concepto importante dentro del SGML y del DTD es el de secciones marcadas. Una sección marcada se inicia con la secuencia de caracteres " que marcan los anclajes o anclas utilizados para establecer un enlace con texto o gráficos de otros documentos. La directiva ancla debe incluir el parámetro href="URL" para apuntar a la dirección o URL y el texto para pulsar. En cuanto a los gráficos, se pueden insertar mediante la directiva IMG con el parámetro src="URL". Pero no existe compatibilidad entre los distintos formatos gráficos, el más extendido es el GIF, aunque existen otros muchos. En cualquier caso, para dotar al documento de una mayor accesibilidad, se puede añadir el parámetro alt="texto sustitutivo" por si el gráfico no puede ser visualizado. También podemos hacer que un gráfico se convierta en enlace. Por último, los caracteres reservados, como los signos < >, las vocales acentuadas o la ñ, pueden ser utilizados dentro del texto del documento mediante la sustitución de estos signos por una cadena de caracteres. Es cierto que la mayor parte de los navegadores admiten la escritura directa de los signos en cuestión dentro del documento, pero en otro tipo de programas, como en los de correo electrónico, pueden surgir problemas, por lo que se precisa un pequeño programa de conversión. Existe un lenguaje HTML dinámico llamado DHTML (Dinamic HyperText Markup Language) que ha creado nuevas etiquetas para el lenguaje HTML con nuevas opciones de estilo y programación que permiten webs con animaciones y una mayor interactividad. En realidad no se trata de un nuevo lenguaje, sino de nuevas posibilidades que pueden integrarse en las páginas web construidas con HTML. En conjunción con HTML, se han desarrollado las llamadas Hojas de estilo (Style Sheets). Una hoja de estilo es una colección de reglas que afecta a la apariencia de un documento. Actualmente el tipo más común de hoja de estilo es la llamada Hoja de estilo en cascada (Cascading Style Sheets ó CSS). Estas normas se refieren al modo en que aparecerá un documento en pantalla cuando el usuario utilice un navegador gráfico, controlando por ejemplo el color, el fondo, tipo de fuente, apariencia del borde, márgenes, alineación, espacio entre caracteres, etc. Las últimas versiones de HTML como HTML 4.0 han desplazado muchas de las funciones realizadas por las anteriores versiones hacia las hojas de estilo, reservando el lenguaje HTML para cuestiones menos formales, relativas a la propia organización del contenido. XML XML o eXtensible Markup Language, es un lenguaje de marcado derivado del lenguaje SGML que proporciona una sintaxis superficial para documentos estructurados, pero que no impone restricciones semánticas sobre el significado de los mismos. XML permite suministrar, recibir y procesar información en la Web y puede interoperar tanto con SGML como con HTML. XML es un estándar desarrollado por el Consorcio World Wide Web (W3C). Se trata de una versión reducida y especializada en la Web de la norma SGML. Su caracterización como "extensible" se deriva de la no limitación en el número de marcas o etiquetas, pues permite crear todas aquéllas que sean necesarias. Otra de sus características principales es que permite enlaces multidireccionales (esto es, que apuntan a varios documentos). XML no es una nueva versión de HTML y, aunque ambos proceden de un mismo metalenguaje, el SGML, el origen y enfoque que se ha seguido en ambos es muy distinto. HTML no es un lenguaje de programación, es un lenguaje de especificación de contenidos para un tipo específico de documentos SGML. Es decir, mediante HTML podemos especificar, usando un conjunto de marcas o etiquetas, cómo va a representarse la información en un navegador. El lenguaje HTML permite insertar menús, tablas, imágenes o bases de datos en los documentos, pero no permite al usuario que maneje estos elementos como mejor le convenga. Esa es la gran novedad que aporta XML. XML conserva todas las propiedades importantes de SGML. Es decir, XML es también un metalenguaje, dado que con él podemos definir nuestro propio lenguaje de presentación y, a diferencia del HTML, que se centra en la representación en la pantalla de la información, XML se centra en la información en sí misma. El objetivo del desarrollo del XML es ser un estándar que sustituya a todo el conjunto de tecnologías que permiten hoy acceder a información a través del Web (applets, scripts,…).
No hay comentarios:
Publicar un comentario