Albergue de Náufragos
Lenguajes de marcas

Una breve historia de los lenguajes de marcas.

Prehistoria

Todo comenzó con la intención de estandarizar el formato en el que los diversos documentos se encuentran en las computadoras. A cualquiera de nosotros nos ha pasado alguna vez que alguien nos envíe, por ejemplo, un texto para revisar y no podemos verlo debido a que está hecho con un programa de texto distinto al que tenemos instalado en nuestra computadora. O podemos verlo, pero con un aspecto bastante distinto al que quería darle su autor. En eso, seguramente, estaba pensando Charles F. Goldfab (1) cuando en los años 70 la empresa estadounidense IBM le encargó el trabajo de "describir documentos".

Volver a la página principal
Volver arriba

El abuelo: GML

Fruto de su investigación, en los años ochenta IBM propuso un sistema de documentos que identificase a cada uno de sus elementos lógicos (títulos y subtítulos, direcciones, páginas, capítulos, párrafos, listas, etc.) con algún tipo de etiqueta dentro del propio documento. No se trataba de la apariencia del documento, sino de la estructura lógica del mismo, de modo que la visualización e impresión de dichos documentos podría ser independiente del hardware en particular, aunque un sistema de ese tipo requeriría algún tipo de software específico para esa visualización e impresiones. El camino que tomó IBM fué desarrollar una especie de pseudolenguaje de computadora que combina sólo texto e instrucciones de formateado. Dicho lenguaje se llamó "lenguaje de marcas" o "de marcado" (markup language) (2) e IBM lo bautizó como Lenguaje de marcas generalizado o GML (Generalized Markup Language) (3).

Volver a la página principal
Volver arriba

El papá: SGML

En la práctica, IBM nunca llegó demasiado lejos con el GML, pero en 1986 la Organización Internacional de Estándares (ISO) decidió que esa empresa tenía un buen comienzo, y presentó la publicación ISO 88879, que definía un lenguaje de marcas para la creación de documentos estandarizados. ISO creó su lenguaje a partir del GML de IBM y lo llamó Lenguaje de marcas generalizado estándar o SGML (Standard Generalized Markup Languaje)(4). Curiosamente, en aquel momento, ISO creía que la mayor utilidad del SGML sería para los departamentos de procesamiento de información de los sistemas de texto y oficina.

Siguiendo con la idea de su predecesor, SGML no almacena el diseño, sino la estructura lógica de los documentos. Lo hace a través de etiquetas o "tags" que se incluyen entre los signos < y > e indican cuando comienza y termina un título, una lista, etc. El objetivo era poder asegurar electrónicamente que los documentos importantes fuesen independientes de los formatos de archivo binario en constante cambio (Word, WordPerfect, WordStar, etc.) o de los sistemas operativos (Windows, MacOS, UNIX, Sun, BeOS, etc.).

Parecía la respuesta a tantos problemas... pero no se popularizó. ¿Cuál era el problema? SGML era muy complicado. En su desarrollo se había trabajado con la administración y las autoridades en mente, pero no pensando en el usuario medio. Una de sus consecuencias fué que las herramientas para la creación de SGML eran caras y no tuvieron gran aceptación.

Volver a la página principal
Volver arriba

El primogénito: HTML

Pero en 1990 Tim Berners-Lee, del Laboratorio Europeo de Física de Partículas (dependiente del CERN: Conseil Européen pour la Recherche Nucléaire) tomó el SGML y lo combinó con la idea de que en un documento se pudiese crear un "enlace" para acceder a otro (la idea ya existía desde los ochentas y se llamaba "hipertexto")(5) creando el lenguaje HTML (de Lenguaje de marcas hipertextual o HyperText Markup Language), base de la World Wide Web (6).

Al hacer tan sencillo al HTML, Berners-Lee colaboró enormemente en la popularización de la Web. Fué tal el crecimiento que decidió crear el World Wide Web Consortium o W3C, encargado del desarrollo de lenguajes y estándares para la Web. Lo que propone el W3C se convierte, tiempo después, en estándar del sector.

Durante años se fueron sucediendo versiones del HTML (1.0, 2.0, 3.2, 4.0, 4.01) que permitieron ampliar sus posibilidades, en cuanto a la inclusión de elementos nuevos en las páginas web, aunque, eso si, manteniendo siempre ciertas limitaciones.

Volver a la página principal
Volver arriba

Los hermanos: XHTML y XML

Con el paso del tiempo se fué viendo que HTML estaba pensado para mostrarse en un navegador web, pero no para impresión o tareas de diseño. Situaciones en las que aparecían márgenes de páginas, formatos de papel, párrafos especiales, encabezados o pies de página, índices, tablas o referencias cruzadas eran manejadas pobremente por HTML, incluso usando hojas de estilo (CSS). También se observó que las etiquetas son limitadas y poco flexibles, por lo que causan problemas al intentar incluír gráficos vectoriales u hojas de cálculo. Tampoco puede mostrar contenidos dinámicos y debe recurrir a lenguajes del tipo ASP, PHP o similar. Por último, y pese a los intentos de sus comienzos, la estructura y el diseño se mezclan, lo que causa problemas a la hora de intentar navegar páginas con diversas tecnologías (terminales Braille o UNIX, teléfonos móviles, WebTV, navegadores de texto o de voz, etc.)(7).

HTML no pudo abarcar tantas novedades que fueron surgiendo en la Web en los últimos años. Primero se lo quiso actualizar creando las especificaciones 4.0 y 4.01, pero luego se notó que igualmente no alcanzaba. Entonces se decidió volver a la fuente de todos estos lenguajes de marcas: SGML. Pero SGML seguía siendo complicado para los usos generales que la Web necesitaba, así que se decidió escribir desde cero un nuevo lenguaje de marcas, también basado el SGML pero con más posibilidades de ampliación que el HTML. Así, en 1998, el Consorcio W3 y empresas como Microsoft decidieron implementar el lenguaje XML (Lenguaje de marcas extensible o Extensible Markup Language) como sucesor del HTML.

XML es una versión más sencilla de SGML y más fácil de aplicar, diseñada para hacer frente a los problemas de compatibilidad y adaptabilidad de las nuevas tecnologías a Internet.

Una diferencia fundamental de XML con su predecesor es que en este lenguaje no hay elementos predefinidos. Cada usuario (o grupo de usuarios) puede crear su propio lenguaje para el formato de datos y documentos, su propio vocabulario, según sus necesidades, siguiendo ciertas reglas. Elementos como <titulo>, <autor>, <sexo>, <fecha_nacimiento>, <pregunta>, <respuesta>, <nombre>, <apellido> o <precio> son perfectamente válidos en XML.

La otra gran diferencia con HTML es que XML es puramente estructural. No incluye ninguna información relativa al diseño. Sólo almacena datos y estructura. Para dar formato a esos datos para cada finalidad (web, impresión, proyección, Braille, etc.) se debe usar un lenguaje de diseño, como CSS o XSL.

Pero como este lenguaje también resultaba complicado para los usuarios comunes, y también se encontró con que muchos navegadores tenían problemas de compatibilidad con él, se decidió crear un "lenguaje de transición" que permitiera a los usuarios acercarse al nuevo lenguaje y que al mismo tiempo ofreciera muchas de las posibilidades del HTML.

Así nació el XHTML, una reformularización del HTML basada en XML.

XHTML tiene varias diferencias con el HTML (8), pero es compatible con éste. Además es posible ver las páginas creadas con él en los navegadores que antes nos permitían ver páginas HTML.

Volver a la página principal
Volver arriba

Los hijos: SVG, XSL, XSLT, XLink, XSD, DocBook, MathML

Pero XML no sólo es un lenguaje de marcas, sino un metalenguaje, un lenguaje que permite crear otros lenguajes (de ahí la palabra eXtensible de la sigla). He aquí algunos de ellos:

XSL es un lenguaje para utilizar hojas de estilo e intenta superar las restricciones que tienen las hojas de estilo en cascada o CSS. Desgraciadamente, aún no está suficientemente soportado por los navegadores que hay en el mercado, aunque esto se va modificando de a poco. El XSL es un conjunto de tres partes: XSL Transformations (XSLT o Transformaciones XSL): un lenguaje para transformar documentos XML, el XML Path Language (XPath), un lenguaje de expresión usado por XSLT para acceder o referirse a partes de un documento XML. (XPath también es usado por la especificación XML Linking). La terecera parte es XSL Formatting Objects: un vocabulario XML para la especificación de formateo de semánticas. Una hoja de estilo XSL especifica la presentación de una clase de documentos XML describiendo cómo una instancia de la clase es transformada en un documento XML que usa el vocabulario de formateo.
El XSL es desarrollado por el grupo de trabajo XSL del Consorcio W3, quienes están trabajando para liberar la próxima versión del XSL.

Volver a la página principal
Volver arriba

Ver también

Volver a la página principal
Volver arriba

Notas al pie

1: Con la colaboración de Ed Mosher y Ray Lorie. (Volver al texto principal)
2: En realidad, y tal como aclara Juan R. Pozo en su tutorial de HTML en la página http://html.conclase.net/tutorial/html/1/3 y en su "Breve historia de la World Wide Web" en la página http://html.conclase.net/articulos/historia, "Mark-up" es un término de imprenta. Cuando un escritor escribía un libro, a mano o con máquina de escribir, y se lo entregaba a un editor, el editor tenía que marcar sobre el texto instrucciones para que los de la imprenta imprimieran todo correctamente: decía dónde estaban los títulos, las secciones, marcaba los párrafos, etc. Todo eso lo anotaba con unas marcas más o menos estándares que los de la imprenta entendían. Al conjunto de todas esas marcas, en inglés se le llama "mark-up". Para traducir el término, he encontrado los términos "marcado", "etiquetado" (aquí yo lo considero una confusión con las etiquetas o tags del propio código) y "marcas", inclinándome, simplemente por un gusto personal, por éste último. Espero que mi decisión no provoque confusión.(Volver al texto principal)
3: Una versión no confirmada dice que en realidad la sigla surgió de los apellidos de los tres investigadores iniciales del proyecto: Goldfab, Mosher y Lorie. (Volver al texto principal)
4: El título de ISO 8879:1986 es "Information Processing - Text and Office Systems - Standard Generalized Markup Language (SGML)" y se pude obtener una copia en papel o formato PDF (pagando) en la dirección http://www.iso.ch/iso/en/CatalogueDetailPage.CatalogueDetail?
CSNUMBER=16387&ICS1=35&ICS2=240&ICS3=30
.(Volver al texto principal)
5: Tal como cuenta el propio Berners-Lee en la sección Start of the web: Influences de su página personal.(Volver al texto principal)
6: Recordemos que en 1990 se creó la World Wide Web o WWW y no Internet. Esta red de redes ya existía desde los años 60, ofreciendo diversos servicios como el correo electrónico (el primer mensaje se envió en 1971 en Estados Unidos), descarga de archivos con FTP, búsqueda de archivos con Archie, foros de discusión con Usenet y hasta búsqueda de bases de datos con WAIS.
Lo que Berners-Lee hizo realmente fué darle una interfaz gráfica a todos esos servicios existentes, y lo hizo a través de una pasmosa (y necesaria) simplicidad de recursos:
A eso le sumó la idea del hipervínculo, para lo que creó una notación que empieza con una etiqueta especial: el ancla (Anchor) que podemos ver en el código como <a href="..."></a>.(Volver al texto principal)
7: En un intento de parar la mala costumbre de usar las etiquetas de HTML para diseño en vez de usarlas para estructurar, el Consorcio W3, en la última especificación de ese lenguaje (4.01 de 1997) declaró todos los elementos relacionados con la presentación como desaprobados (deprecated), es decir, en riesgo de ser declarados obsoletos en próximas especificaciones, de modo que los nuevos navegadores no se verán obligados a soportarlos. En su lugar, deberán usarse las hojas de estilo (CSS).(Volver al texto principal)
8: Las diferencias de XHTML en relación con HTML son:
(Volver al texto principal)

Derecho de Autor © 2003 Claudio Segovia
Permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU, Versión 1.1 o cualquier otra versión posterior publicada por la Free Software Foundation; sin Secciones Invariantes, sin texto de la Cubierta Frontal, y sin texto de la Cubierta Posterior. Una copia de la licencia es incluida en la sección titulada "Licencia de Documentación Libre GNU".

Enlace al sitio HTML en castellanoD
Esta página adhiere a la campaña "Se ve mejor con cualquier navegador - Campaña para un WWW no específico de un navegador (http://www.anybrowser.org/campaign/anybrowser_es.html)".
Por favor, hágame saber si ha encontrado algo en mi sitio que no funcione con su navegador (especifíqueme qué navegador está usando y qué no funcionó) y trataré de arreglarlo.
Se ve mejor con cualquier navegador - Enlace a página de CampañaD

Todos los nombres propios, distintivos, logos, marcas, sistemas, hardware, equipos, etc. que aparecen en estas páginas web enlazando a sitios, son marcas registradas de sus respectivas compañias, empresas, organizaciones y/o propietarios. El hecho que aparezcan no implica ningún tipo de compromiso monetario o moral de dichas organizaciones con el autor de éstas páginas, ya que fueron colocadas por éste por simple gusto personal, como colaboración desinteresada para promocionar dichos sitios.

Webmaster: Claudio Segovia - Buenos Aires, San Justo y Lago Puelo - Argentina
Nacimiento del Albergue: 7 de enero de 1999
Ultima actualización: Jueves 28 de abril de 2007
Dirección de correo electrónico: claudiosegovia@gmail.com

A Ema, Matilde y Cecilia