Qué son los Lenguajes de Marcas
Un Lenguaje de Marcas (Markup Language) es un modo de codificar (redactar) un documento donde, junto con el texto, se incorporan etiquetas (marcas o anotaciones) con información adicional relativa a la estructura del texto o su formato de presentación. Los Lenguajes de Marcas permiten hacer explícita la estructura de un documento, su contenido semántico o cualquier otra información lingüística o extralingüística que se quiera hacer patente.
Un ejemplo de Lenguaje de Marcas sería el siguiente, en el que vemos cómo se encierra el texto entre etiquetas para darle un significado o una representación:
<carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta>
Tipos de Lenguajes de Marcas
Los Lenguajes de Marcas se pueden clasificar como sigue:
- Lenguajes de presentación: Define el formato (apariencia) del texto. Éstos suelen ocultar las etiquetas y mostrar al usuario solamente el texto con su formato.
- Lenguajes de procedimientos: Orientado también a la presentación pero, además, el programa que representa el documento debe interpretar las etiquetas para realizar acciones en función de ellas.
- Lenguajes descriptivos o semánticos: Describen las diferentes partes en las que se estructura el documento, es decir, definen su contenido, pero sin especificar cómo deben representarse.
Ejemplos de Lenguajes de Marcas
Algunos ejemplos de Lenguajes de Marcas según la clasificación anterior sería:
Lenguajes de presentación
- RTF (Rich Text Format - Formato de Texto Enriquecido): Desarrollado por Microsoft en 1987. Representa documentos de texto con formato de presentación añadido.
{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard Esto es un texto en {\b negrita}.\par }
- TeX: Representa fórmulas matemáticas complejas.
$\sin(\pi)=1$
- Wikitexto: Permite la creación de páginas tipo Wiki.
''Texto encursiva''
Lenguajes de procedimientos
- HTML (Hypertext Markup Language - Lenguaje de Marcado de Hipertexto): Su objetivo es la creación de documentos con un formato visual interesante para compartirlo en Internet.
<p>Esto es un texto con <strong>negrita</strong></p>
- LaTeX: Es un sistema de composición de textos, orientado a la creación de documentos escritos que presenten una alta calidad tipográfica.
\LaTeX{} es un programa para preparar documentos con el sistema de tipograf\'ias\footnote{%nota al pie de página Seg\'un Wikipedia, la tipograf\'ia es el arte y t\'ecnica del manejo y selecci\'on de tipos, originalmente de plomo, para crear trabajos de impresi\'on } %fin nota al pie de página\TeX{}.\newline
Lenguajes descriptivos
- XML (eXtensible Markup Language - Lenguaje de Marcado Extensible): Es un metalenguaje que permite definir otros lenguajes de marcas.
<carta> <fecha>22/11/2006</fecha> <presentacion>Estimado cliente:</presentacion> <contenido>bla bla bla bla …</contenido> <firma>Don José Gutiérrez González</firma> </carta>
Evolución de los Lenguajes de Marcas
Los lenguajes de marcas surgieron, inicialmente, como lenguajes formados por el conjunto de códigos de formato que los procesadores de texto introducen en los documentos para dirigir el proceso de presentación (impresión) mediante una impresora. Como en el caso de los lenguajes de programación, inicialmente estos códigos de formato estaban ligados a las características de una máquina, programa o procesador de textos concreto y, en ellos, inicialmente no había nada que permitiese al programador (formateador de documentos en este caso) abstraerse de las características del procesador de textos y expresar de forma independiente a éste la estructura y la lógica interna del documento.
Posteriormente, se añadieron como medio de presentación a la pantalla. Los códigos de estilo de visualización anteriores ya no aparecen, y se emplean otros medios para marcados, distintos de la inclusión a mano de cadenas formateadoras, ahora ese proceso se automatiza y basta pulsar una combinación de teclas, o pulsar un botón, para lograr los resultados requeridos. Aunque esto es sólo una abstracción, para su uso interno las aplicaciones siguen utilizando marcas para delimitar aquellas partes del texto que tienen un formato especial.
Este marcado estaba exclusivamente orientado a la presentación de la información, aunque pronto se percataron de las posibilidades del marcado y le dieron nuevos usos que resolvían una gran variedad de necesidades, apareció el formato generalizado.
GML (Generalized Markup Language)
Uno de los problemas que se conocen desde hace décadas en la informática es la falta de estandarización en los formatos de información usados por los distintos programas.
Para resolver este problema, en los años sesenta IBM encargó a Charles F. Goldfab la construcción de un sistema de edición, almacenamiento y búsqueda de documentos legales. Tras analizar el funcionamiento de la empresa llegaron a la conclusión de que para realizar un buen procesado informático de los documentos había que establecer un formato estándar para todos los documentos que se manejaban en la empresa. Con ello se lograba gestionar cualquier documento en cualquier departamento y con cualquier aplicación, sin tener en cuenta dónde ni con qué se generó el documento. Dicho formato tenía que ser válido para los distintos tipos de documentos legales que utilizaba la empresa, por tanto, debía ser flexible para que se pudiera ajustar a las distintas situaciones.
El formato de documentos que se creó como resultado de este trabajo fue GML, cuyo objetivo era describir los documentos de tal modo que el resultado fuese independiente de la plataforma y la aplicación utilizada.
SGML (Standard Generalized Markup Language).
El formato GML evolucionó hasta que en 1986 dio lugar al estándar ISO 8879 que se denominó SGML. Éste era un lenguaje muy complejo y requería de unas herramientas de software caras. Por ello su uso ha quedado relegado a grandes aplicaciones industriales.
HTML (HyperText Markup Language).
En 1989/90 Tim Berners-Lee creó el World Wide Web y se encontró con la necesidad de organizar, enlazar y compatibilizar gran cantidad de información procedente de diversos sistemas. Para resolverlo creó un lenguaje de descripción de documentos llamado HTML, que, en realidad, era una combinación de dos estándares ya existentes:
- ASCII: Es una codificación de caracteres que cualquier procesador de textos sencillo puede reconocer y almacenar. Por tanto permite la trasferencia de datos entre diferentes ordenadores.
- SGML: Lenguaje que permite dar estructura al texto, resaltando los títulos o aplicando diversos formatos al texto.
HTML es una versión simplificada de SGML, ya que sólo se utilizaban las instrucciones absolutamente imprescindibles. Era tan fácil de comprender que rápidamente tuvo gran aceptación logrando lo que no pudo SGML. HTML se convirtió en un estándar general para la creación de páginas web. Además, tanto las herramientas de software como los navegadores que permiten visualizar páginas HTML son cada vez mejores.
A pesar de todas estas ventajas HTML no es un lenguaje perfecto, sus principales desventajas son:
- No soporta tareas de impresión y diseño.
- El lenguaje no es flexible, ya que las etiquetas son limitadas.
- No permite mostrar contenido dinámico.
- La estructura y el diseño están mezclados en el documento.
XML (eXtensible Markup Language)
Para resolver estos problemas de HTML el W3C establece, en 1998, el estándar internacional XML, un lenguaje de marcas puramente estructural que no incluye ninguna información relativa al diseño. Está convirtiéndose con rapidez en estándar para el intercambio de datos en la Web. A diferencia de HTML las etiquetas indican el significado de los datos en lugar del formato con el que se van a visualizar los datos.
XML es un metalenguaje caracterizado por:
- Permitir definir etiquetas propias.
- Permitir asignar atributos a las etiquetas.
- Utilizar un esquema para definir de forma exacta las etiquetas y los atributos.
- La estructura y el diseño son independientes.
XHTML (eXtensible HyperText Markup Language)
XHTML surge en el año 2000, básicamente para expresar el lenguaje HTML como un lenguaje XML válido, y convertirlo de un lenguaje de marcas de procedimientos a un lenguaje de marcas descriptivo.
Aunque apenas se utiliza en el desarrollo de sitios web, podemos observar cómo la versión HTML5 y posteriores se han ido desarrollando en este camino, centrándose en la descripción del contenido y no en su presentación.
Imagen de cabecera creada por GraphiqaStock (Freepik)
Basado en los materiales de Montaje y Mantenimiento de Equipo del Ministerio de Educación, Cultura y Deporte y actualizados por el profesorado de la Junta de Andalucía bajo una licencia Creative Commons BY-NC-SA.
Qué son los lenguajes de marcas escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional