¿Qué es un lenguaje de marcas?

Las páginas web ofrecen la posibilidad de tener, además de texto, estructura de la página (columnas), formatos de fuente (colores, subrayados, negritas...), imágenes, enlaces, tablas, listados, etc. Y, sin embargo, todas las páginas web están constituidas por texto plano, o sea, texto sin más. ¿Cómo hacemos para incluir todos estos elementos adicionales y que el navegador sepa diferenciar que es contenido y qué no lo es? La solución es utilizar un lenguaje de marcas. Los lenguajes de marcas no son lenguajes de programación como Scratch (aquí no hay sentencias que ejecutar); son lenguajes que mediante marcas añaden riqueza sintáctica y semántica a un texto.

Veamos un ejemplo para que quede más claro. Imaginemos que tenemos la siguiente frase:

Hoy es un día muy soleado.

Por ahora cumple la función de que es un texto plano. Nos gustaría añadir características a este texto, pero no al significado, sino a la forma en que se muestra por pantalla, haciendo por ejemplo que muy esté en negrita para fortalecer la sensación de que hace mucho sol. Como sabemos que el resultado de hacerlo ha de ser también texto plano, nos las tendremos que ingeniar de alguna manera para no confundir el contenido con su formato. La solución: añadir marcas. Veamos cómo:

Hoy es un día <negrita>muy</negrita> soleado.

Como se puede observar, hemos añadido dos marcas de negrita, una de inicio y una de final. Podemos identificar claramente las marcas porque vienen entre signos de mayor y menor. ¡Ésta es la manera que tenemos de no confundirlo con el contenido! Por otro lado, vemos que las marcas son ligeramente diferente, ya que una es la de inicio (<negrita>) y otra la de final (</negrita>, nótese la barra), de manera que el contenido que esté resaltado sea sólo la palabra muy y nada más.

Existen otro tipo de marcas que no requerirían una marca de final. Así, por ejemplo, pongamos el caso en el que tengamos un párrafo y cursiva (en estos casos sí necesitamos indicar el inicio y el final) y un salto de línea (aquí, por contra, no hace falta indicar el final, ya que el salto de línea empieza... y ya está). Por ejemplo:

<parrafo>
  Hoy es un día <negrita>muy</soleado> soleado.
  <salto/>
  Pero mañana <cursiva>por desgracia</cursiva> lloverá.
</parrafo>

Nótese, que para indicar que salto no tiene marca de finalización, hemos puesto la barra al final de su marca de inicio. Bien, pues a grandes rasgos esto es lo que es un lenguaje de marcado: tenemos marcas con un significado específico que permiten añadir información, formato, etc. a un contenido. Las marcas vienen entre unos caracteres especiales (los signos de mayor y menor) para no ser confundidos con el contenido y pueden existir marcas de inicio y final dependiendo del tipo de marca.