El lenguaje de marcas

   El lenguaje de marcas, o lenguaje de marcado, 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.

  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 poseen los lenguajes de programación.

   Los lenguajes de marcas se llaman así por la práctica tradicional de marcar los manuscritos con instrucciones de impresión en los márgenes. En la época de la imprenta, esta tarea ha correspondido a los marcadores, que indicaban el tipo de letra, el estilo y el tamaño, así como la corrección de errores, para que otras personas compusieran la tipografía. Esto condujo a la creación de un grupo de marcas estandarizadas. Con la introducción de los ordenadores, se trasladó un concepto similar al mundo de la informática.
 

CARACTERÍSTICAS 

  Las características básicas de todo lenguaje de marcado son:
  •      Texto plano: Una de las principales ventajas de este tipo de codificación es que la gran mayoría puede ser interpretada directamente dado que son archivos de texto plano, quedando excluidos algunos lenguajes de presentación que guardan la información en archivos binarios ('.doc' de MS Word, por ejemplo) donde sólo una pequeña parte de la información es legible, lo cual es una ventaja evidente respecto a los sistemas de archivos binarios, que requieren siempre de un programa intermediario para trabajar con ellos; así, un documento escrito con lenguajes de marcado puede ser editado por un usuario con un sencillo editor de textos, sin perjuicio de que se puedan utilizar programas más sofisticados que faciliten el trabajo. Al tratarse solamente de texto, los documentos son independientes de la plataforma, sistema operativo o programa con el que fueron creados, lo que representa una de las razones fundamentales de la gran aceptación que han tenido en el pasado y del excelente futuro que se les augura.
  •    Compacidad: Las instrucciones de marcado, o etiquetas ("tag", en inglés), se entremezclan con el propio contenido en un único archivo o flujo de datos.
  •   Facilidad de procesamiento: Las organizaciones de estándares han venido desarrollando lenguajes especializados para los tipos de documentos de comunidades o industrias concretas.
  •    Flexibilidad: Aunque, originalmente, los lenguajes de marcas se idearon para documentos de texto, se han empezado a utilizar en áreas como gráficos vectoriales, servicios de red, sindicación de red o interfaces de usuario. Estas nuevas aplicaciones aprovechan la sencillez y potencia de este tipo de lenguaje, lo que ha permitido que se puedan combinar varios lenguajes de marcas diferentes en un único archivo.
 

COMPONENTES 

   El lenguaje de marcado posee los siguientes componentes básicos:
  •      Etiqueta:  Se trata de una marca con clase que delimita una región en los lenguajes de este tipo; un grupo de etiquetas bien utilizado indica al navegador de red las instrucciones necesarias para que presente la página en pantalla, como en qué juego de caracteres está la página, de qué tipo es cada uno de los fragmentos de texto que contiene (por ejemplo, encabezamiento, texto normal, etc.), si están alineados a un lado o centrados, en qué tipo de letra está el texto (cursiva, negrita, etc.), si hay tablas, de qué anchura son, etcétera, además de hacer otras cosas. Lo más habitual es emplear una etiqueta de inicio y otra de fin. Cuando se refieren a la estructura del documento y su presentación visual se denominan etiquetas descriptivas, mientras que si sólo indican una característica sin especificar un motivo de la misma, se llaman etiquetas presentacionales. Por otra parte, una etiqueta de inicio puede presentar atributos que la delimiten más.
  •    Elemento: Representa una estructura mediante la que se organizará el contenido del documento de lenguaje de marcado o acciones que se desencadenan cuando el navegador lo interpreta; consta de la etiqueta de inicio, la etiqueta de fin y de todo aquello que se encuentre entre ambas. Algunos elementos no tienen contenido, y se denominan elementos vacíos (no debe llevar etiqueta de fin).
  •    Atributo: Par nombre-valor, que se encuentra dentro de la etiqueta de inicio de un elemento e indica diferentes propiedades que pueden llevar asociados los elementos.
Ejemplo de archivo con código de lenguaje de marcas.

TIPOS DE LENGUAJE DE MARCAS 

   Normalmente, se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento:
  •   Marcado de presentación: 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; no obstante, 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.
  •   Marcado de procedimientos: Está 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; de este modo, inmediatamente después del título deberá haber etiquetas inversas que reviertan estos efectos; en sistemas más avanzados se utilizan macros o pilas que facilitan el trabajo. 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.
  •   Marcado descriptivo: Utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en qué orden. Las etiquetas pueden utilizarse para añadir al contenido cualquier clase de metadatos (datos que describen otros datos; un grupo de metadatos se refiere a un grupo de datos que describen el contenido informativo de un objeto denominado recurso). 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; dichos fragmentos pueden utilizarse para más usos de los previstos inicialmente; no obstante, los buscadores los emplean para localizar nuevas páginas con información relacionada, o para evaluar la popularidad de determinado sitio de red. Además, el marcado descriptivo también simplifica la tarea de reformatear un texto, debido a que la información del formato está separada del propio contenido. El marcado descriptivo está evolucionando hacia el marcado genérico, puesto que 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 ["Binary Large Objects" ("blobs"), en inglés; elementos utilizados en las bases de datos para almacenar datos de gran tamaño que cambian de forma dinámica] como en el pasado; estos sistemas no tienen un esquema estricto como las bases de datos relacionales, por lo que a menudo se las considera bases semiestructuradas. 
 

EVOLUCIÓN DEL LENGUAJE DE MARCAS

  A lo largo del tiempo, este tipo de lenguaje informático ha ido evolucionando de unos lenguajes más sencillos a otros más complejos:

  •   Lenguaje de marcado generalizado estándar [“Standard Generalized Markup Language”, (“SGML”), en inglés]: Se utilizó aproximadamente hasta finales de 1980, cuando se excluyó del estándar ISO 8879. Cayó en desuso, fundamentalmente, por su dificultad y el hecho de que demandaba herramientas de soporte lógico demasiado costosas. En la actualidad, ya no se utiliza.
  •   Lenguaje de marcado de hipertexto [“HyperText Markup Language” (“HTML”), en inglés]: Es el lenguaje de la red, de manera que la inmensa mayoría de las páginas que existen están escritas en HTML; en 1991 la situación cambió drásticamente cuando Tim Berners-Lee, que conocía el SGML, utilizó su sintaxis para crear el HTML y compartir información entre científicos; surgió de la necesidad de organizar, enlazar y compatibilizar la información proveniente de diferentes sistemas; de este modo se unieron dos estándares existentes: ASCII como codificador de caracteres y SGML para dar estructura al texto. Básicamente, este lenguaje de marcado define los contenidos de un sitio de red de forma textual y estructurada indicando al navegador cómo debe visualizarse el sitio; su rápida expansión se debió al hecho de que era muy fácil de entender, lo que hizo que se convirtiera en un estándar general para el desarrollo de sitios y páginas de red. Su versión 5 (HTML5)  proporciona nuevas etiquetas que agregan significado a la página, sino que también se puede añadir audio y vídeo sin recurrir a usar Flash u otro reproductor multimedia. Por otra parte, sus aplicaciones son totalmente accesibles desde un ordenador, tableta o teléfono móvil.Por supuesto, todo ello facilita y agiliza el proceso de programación, por lo que conocer este lenguaje de marcado es fundamental; todo ello facilita y agiliza el proceso de programación, por lo que conocer este lenguaje de marcado es fundamental.
  •   Lenguaje de Marcado Extensible ["eXtensible Markup Language" ("XML"), en inglés]: La respuesta a los problemas surgidos en torno al HTML vino de la mano del XML, que es un metalenguaje que permite crear etiquetas adaptadas a las necesidades; el estándar define cómo pueden ser esas etiquetas y qué se puede hacer con ellas. Es además especialmente estricto en cuanto a lo que está permitido y lo que no, todo documento debe cumplir dos condiciones: ser válido y estar bien formado. Desempeñó un papel crucial en el éxito de la World Wide Web Consortium en 1998 y seguirá siendo una capa fundacional en la Web 3.0. Tras varios años creando diferentes especificaciones, a mediados del 2000, se creó la normativa ISO que definió HTML 4.01 [estricto ("strict", en inglés)] como estándar internacional XML, un lenguaje de marcado estructural que no tiene información sobre el diseño. Más adelante aparecieron alternativas basadas en XML y en 2004 se creó el Web Hypertext Application Technology Working Group para dar vida a un nuevo estándar e intercambiar datos en la red.
  •   Lenguaje de marcado de hipertexto extensible ["eXtensible HyperText Markup Language" ("XHTML"), en inglés]: Se trata, básicamente, de HTML expresado como XML válido; es más estricto a nivel técnico, pero esto permite que posteriormente sea más fácil al hacer cambios o buscar errores entre otros. Su objetivo inicial era avanzar en el proyecto del World Wide Web Consortium de lograr una red semántica, donde la información, y la forma de presentarla estén claramente separadas. Más adelante, parte a la especificación en módulos; y, en sucesivas versiones, la W3C planea romper con las etiquetas clásicas traídas de HTML.
 

LENGUAJES DE MARCADO 

  Los lenguajes de marcas más relevantes, según su campo de aplicación, son:
  •   Básicos: GML, SGML, XML, dialectos XML.
  •   Documentos en general: Lenguajes descriptivos (ASN.1, EBML, YAML, HTML), lenguajes de presentación (Rich Text Format, S1000D, TeX, troff, Typst), lenguajes ligeros (BBCode, Markdown, ReStructuredText, setext,Textile, Wikitexto), lenguajes para manuales (DocBook, HelpML, LinuxDoc, POD, Microsoft Assistance ML).
  •   Tecnologías de Internet: World Wide Web (HTML, XHTML, Wireless ML, Handhelp ML, RDF, Meta Content Framework), interfaz de usuario [GladeXML, MXML (Macromedia), User Interface ML, XAML and MyXaml, XForms, XUL / XBL], sindicación (Atom, RSS, ICE, OPML y OML, SyncML), servicios de red (WSDL, XINS, WSCL, WSFL, XML-RPC, Webml).
  •   Lenguajes especializados: Gráficos 2D (SVG, CGM, VML, InkML), gráficos 3D (VRML/X3D, STEP), matemática (MathML, OpenMath), música (LilyPond, MusicXML), taxonomía (DITA), contabilidad financiera (eXtensible Business Reporting Language), geomática (Geography ML), aeronáutica (Spacecraft ML), multimedia (Synchronized Multimedia Integration Language), voz (VoiceXML), mensajería instantánea (XMPP), videojuegos (BulletML, COLLADA).
   Actualmente, hay diseñadores y desarrolladores de red que emplean gestores de contenidos, que ya crean de manera subyacente el código informático en este tipo de lenguajes y otros que se necesitan para la creación y buen funcionamiento de una página de red, para crear páginas de red en lugar de utilizar directamente este tipo de lenguajes para tal fin.
 
  Espero que la presente entrada haya sido interesante para el lector. Si es así, aguerado que éste la comente y/o la comparta, por favor. 

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.