viernes, 2 de abril de 2010

Lenguajes de marcado

Un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación. El lenguaje de marcas más extendido es el “Lenguaje de Marcado de Hipertexto”, fundamento del servicio World Wide Web de Internet. Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritméticas o variables, como sí poseen los lenguajes de programación. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores. Los lenguajes de marcas no son lenguajes de formato similar a los lenguajes que se usan en Internet como los de descripción de páginas, ni son lenguajes de programación, 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ía hablarse 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 o bien para representar su significado.

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 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. De esta manera existen dos tipos de marcado: (1) Marcado específico, en el cual se describe cómo debe ser formateado el documento en relación con la fuente, tamaño, color, etc. (2) Marcado estructural, que se encarga de la descripción de la estructura del documento, los títulos, párrafos, etc.

Los lenguajes de marcado presentan las siguientes características: (1) Texto plano. Son archivos de texto plano, por lo que la información puede ser interpretada directamente, y se editan con un editor de textos sencillo. Como son documentos únicamente de texto, son independientes del exterior, de tal manera que no restringe el intercambio de información. Esta es una de las razones de su gran aceptación. (2) Facilidad de procesamiento. Las organizaciones de estándares han estado desarrollando lenguajes especializados para las distintas especialidades de conocimiento y comunidades científicas concretas. Se han elaborado lenguajes adaptados a cada una de las necesidades de conocimiento. Un buen ejemplo fue el caso de la empresa Sun Microsystems, que escribió la documentación de sus productos en el “Lenguaje de Marcado Generalizado Estándar” y produjo una gran reducción de costos. El responsable de la decisión fue Jon Bosak, que más tarde fundó el comité del “Lenguaje de Marcado Extendido”. (3) Flexibilidad. Originalmente los lenguajes de marcado se desarrollaron para documentos textuales, pero debido a su alta aceptación se han empezado a utilizar en otras áreas y aplicaciones, como servicios web o interfaces de usuarios. Éstas se benefician de las ventajas del “Lenguaje de Marcado Extendido” y permiten combinar diferentes lenguajes de marcado en el mismo documento.

Suele diferenciarse entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. (1) Marcado de presentación. Este marcado es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados. Se puede tratar de averiguar la estructura de un documento de esta clase buscando pistas en el texto. (2) Marcado de procedimientos. Este marcado se encuentra enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Algunos ejemplos de marcado de procedimientos son nroff, troff, TeX. Este tipo de marcado se ha usado extensivamente en aplicaciones de edición profesional, manipulados por tipógrafos calificados, ya que puede llegar a ser extremadamente complejo. (3) Marcado descriptivo. Este marcado, denominado también marcado semántico, utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en qué orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el “Lenguaje de Marcado Generalizado Estándar” y el ““Lenguaje de Marcado Extendido”., en los cuales las etiquetas pueden utilizarse para añadir al contenido cualquier clase de metadatos. Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan tal como son, y no tal como deben aparecer. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. El marcado descriptivo está evolucionando hacia el marcado genérico. Los nuevos sistemas de marcado descriptivo estructuran los documentos en árbol, con la posibilidad de añadir referencias cruzadas. Esto permite tratarlos como bases de datos, en las que el propio almacenamiento tiene en cuenta la estructura, no como en los grandes objetos binarios como en el pasado. Estos sistemas no tienen un esquema estricto como las bases relacionales, por lo que a menudo se las considera bases semiestructuradas.

Debido a 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, estos problemas se intentaron solucionar editando los textos en el “Código Estándar Americano para el Intercambio de la Información”, con el uso de un código de siete bits que puede representar un máximo de ciento veintiocho 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, entre otras cosas 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 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 “Lenguaje de Marcado Generalizado Estándar”. Este lenguaje no es pues, un lenguaje en sí mismo, sino un metalenguaje y de él se deriva el lenguaje de marcado de hipertexto, y otros muchos lenguajes de marcas.

El lenguaje de marcado generalizado estándar es una norma ISO que permite que la estructura de un documento pueda ser definida con base en la relación lógica de sus partes. Esta estructura puede ser validada por una definición de tipo de documento. La norma del lenguaje de marcado generalizado estándar define la sintaxis del documento además de la sintaxis y semántica de la definición del tipo de documento. El año 1969 la empresa IBM ideó el “Lenguaje de Marcado Generalizado” con el objetivo de crear un sistema general que permitiera la compatibilidad entre los documentos. En 1978, el Instituto Nacional Americano de Normalización comenzó a trabajar en las especificaciones para los procesadores de textos y el resultado fue el “Lenguaje de Marcado Generalizado Estándar”, que se convirtió en la Norma ISO 8879 en el año 1986. En el lenguaje de marcado generalizado estándar el etiquetado de un fragmento de texto se realiza a través de las etiquetas o marcas. 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. Una pareja de marcas o etiquetas encierran el texto al que afectan. Con la sintaxis del lenguaje de marcado generalizado estándar se pretende identificar la estructura lógica de un documento a través de estas marcas. Las etiquetas marcan los distintos elementos de un texto, como 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.

Los lenguajes de marcado de hipertexto y de marcado extendido son, simplemente, dialectos y simplificaciones del lenguaje de marcado generalizado estándar, ya que éste es demasiado complejo. El lenguaje de marcado extendido se diferencia en que es un lenguaje extensible. El término extensibilidad se entiende como la facultad de flexibilidad para el cambio que posee un lenguaje, programa o aplicación determinada, para soportar nuevas funcionalidades cuando se produzcan cambios o se incorporen nuevos elementos, sin que se alteren los elementos o bases existentes, o alterando mínimamente los existentes.

Guillermo Choque Aspiazu
http://www.eldiario.net/
Febrero 1 de 2010

No hay comentarios: