2.Lenguaje de marcado Generales

Tabla de contenido

1. Introducción
2. Origen de los lenguajes de marcado generales: SGML y XML
2.1. Origen: GML y SGML
2.2. El lenguaje HTML
2.3. XML y XHTML
3. Características generales de los lenguajes de marcado
4. Estructura general de un documento con lenguaje de marcado
4.1. Metadatos e instrucciones de proceso
4.2. Codificación de caracteres. Caracteres especiales (escape)
4.3. Etiquetas o marcas
4.4. Elementos
4.5. Atributos
4.6. Comentarios
5. Documentos válidos y bien formados. Esquemas

1. Introducción

Los lenguajes de marcado o lenguajes de marcas se pueden definir como una manera de codificar documentos donde, junto con el texto, se establecen etiquetas, marcas o anotaciones que contienen información relacionada con la estructura de dicho texto, su forma de visualización, etc.
HTML es el lenguaje de marcas que se utiliza para crear páginas web, aunque no es el único.

2. Origen de los lenguajes de marcado generales: SGML y XML

El origen de los lenguajes de marcas empezó con la necesidad de estandarizar el formato de los documentos electrónicos y, en la década de los 70, la empresa estadounidense IBM fue la encargada de solucionar el problema de la descripción de documentos.

2.1. Origen: GML y SGML

En los años ochenta, IBM propuso un sistema de documentos que era capaz de identificar los elementos lógicos que contenían (títulos, capítulos, párrafos, listas, etc.) con algún tipo de etiqueta dentro del documento correspondiente. Este lenguaje se denominó lenguaje de marcas o de marcado (markup language) e IBM le dio el nombre de Lenguaje de Marcas Generalizado o GML (Generalized Markup Language).
En el estudio de los lenguajes de marcas, es importante conocer y diferenciar los conceptos de estructura lógica y física de un documento. La estructura lógica está formada por las partes y relaciones que lo constituyen. La estructura física indica el aspecto del documento, ya sea sobre el papel o en la pantalla donde se visualice, incluyendo sus componentes físicos, el lugar donde se colocan sus elementos y la tipografía de los textos que contiene.
IBM no llegó muy lejos con GML, pero, en 1986, la Organización Internacional de Estándares (ISO) presentó la publicación ISO 88879, que definía un lenguaje de marcas que servía para crear documentos estandarizados, el cual fue creado a partir de GML. A este nuevo lenguaje se le dio el nombre de SGML (Standard Generalized Markup Languaje).
SGML no almacena el diseño de los documentos, sino la estructura lógica de los mismos. Esto se consigue gracias al uso de etiquetas o tags que se incluyen entre los signos “<” y “>”. Estas etiquetas indican el comienzo y el final de elementos tales como párrafos, listas, títulos, etc. El objetivo de la creación de este lenguaje era asegurar que los documentos electrónicos fuesen independientes de los formatos de archivo binario (Word, WordPerfect, etc.) y de los sistemas operativos (Windows, Mac OS, etc.).
El SGML no prosperó debido fundamentalmente a su complejidad y al elevado coste que suponía adquirir una de las herramientas que se utilizaban para su creación.

2.2. El lenguaje HTML

En 1990, Tim Berners-Lee, del Laboratorio Europeo de Física de Partículas, creó el lenguaje HTML (HyperText Markup Language), partiendo de SGML y de la idea de que en un documento se pudieran establecer enlaces que permitieran navegar de un documento a otro (hipertextos). Esto constituyó la base de la WWW (World Wide Web), conocida comúnmente como Web.
HTML resultó ser un lenguaje muy sencillo, lo que ayudó a la popularización de la Web. El crecimiento de esta última fue tal que se decidió crear el W3C (World Wide Web Consortium) cuya misión sería el desarrollo de lenguajes y estándares para la WWW.
Durante años, fueron apareciendo distintas versiones de este lenguaje de marcas, las cuales permitieron mejorar, ampliar e innovar sus posibilidades respecto a la implementación de elementos y funcionalidades nuevas en las páginas web.

2.3. XML y XHTML

Con el paso del tiempo, se fue apreciando que HTML era un lenguaje destinado a la presentación de documentos a través de la WWW, pero no para impresión o tareas de diseño. Además, en HTML la estructura y el aspecto de los documentos se mezcla, lo que suponía problemas a la hora de intentar navegar con múltiples tecnologías (teléfonos móviles, navegadores modo texto, etc.).
En 1998, el W3C creó una versión más sencilla de SGML, con el fin de poder afrontar los problemas de compatibilidad y adaptación de las nuevas tecnologías que iban surgiendo. A esta versión se le dio el nombre de XML (Lenguaje de Marcas eXtensible o eXtensible Markup Language).

XML: metalenguaje que sirve como estándar para el intercambio de información estructurada entre diferentes plataformas. Este metalenguaje presenta una amplia variedad de aplicaciones, como pueden ser: editores de texto, hojas de cálculo, bases de datos, etc.

Existe una diferencia fundamental entre HTML y XML: en XML no existen elementos predefinidos, es decir, el desarrollador puede crear, siguiendo ciertas reglas, su propio lenguaje y vocabulario para el formateo de la información contenida en los documentos.

Los documentos escritos en XML no incluyen ninguna información relacionada con el aspecto y el diseño de los mismos, almacenando únicamente datos e información estructural.

La utilización de XML para crear documentos web resultaba realmente complicada y, además, muchos navegadores tenían problemas para interpretar correctamente estos documentos. Por este motivo, se definió un nuevo lenguaje que incluyera las posibilidades de HTML y que mantuviera la filosofía de XML: el XHTML (eXtensible HyperText Markup Language). XHTML se creó reformulando el lenguaje HTML, haciéndolo compatible con XML. El lenguaje XHTML puede coexistir con HTML.

3. Características generales de los lenguajes de marcado

Los lenguajes de marcas presentan las siguientes características fundamentales: Combinan la información contenida en un documento (por lo general, texto) con marcas o indicaciones relacionadas con su estructura o la forma de representarlo. El propio lenguaje de marcas es el que especifica los tipos de etiquetas que se pueden emplear, en qué lugares pueden colocarse y el significado que tiene cada una de ellas. A diferencia de otros lenguajes de programación, los lenguajes de marcas carecen de variables y funciones aritméticas. La presencia de etiquetas intercaladas en un documento escrito con lenguaje de marcas refleja inequívocamente su estructura y jerarquía. Los programas que interpretan los documentos escritos con lenguajes de marcas no suelen mostrar al usuario las etiquetas propiamente dichas, ya que este suele estar interesado en visualizar únicamente el propio contenido del documento. Fundamentalmente, existen tres términos que se suelen usar para describir las partes de un documento escrito con lenguajes de marcas: las etiquetas, los elementos y los atributos.

4. Estructura general de un documento con lenguaje de marcado

En un documento escrito con un lenguaje de marcas se pueden distinguir las siguientes partes fundamentales:

  • Metadatos e instrucciones de proceso.
  • Codificación de caracteres. Caracteres especiales (escape).
  • Etiquetas o marcas.
  • Elementos.
  • Atributos.
  • Comentarios.

4.1. Metadatos e instrucciones de proceso

Metadatos: información complementaria (metainformación) que se puede incluir dentro de los documentos escritos con lenguaje de marcas (y en otros muchos tipos de archivos), la cual está relacionada con el documento en sí.

Ejemplos de metainformación que puede añadirse a las páginas web escritas en HTML:

  • Nombre del desarrollador de la página.
  • Nombres de aplicaciones informáticas utilizadas en el desarrollo de la página.
  • Temática de la web.
  • Palabras clave relacionadas con el contenido de la página (las cuales pueden utilizarse por los buscadores).

4.2. Codificación de caracteres. Caracteres especiales (escape)

Para que los documentos escritos con lenguajes de marcas sean compatibles con los caracteres propios de nuestro idioma (y de Europa Occidental), es necesario utilizar la codificación UTF-8.

No obstante, para asegurar que una página se va a ver correctamente en cualquier ordenador del mundo, también se puede recurrir a los denominados caracteres especiales o de escape.

Por ejemplo, en HTML, existen dos formas de incluir caracteres especiales: Mediante un número decimal, siguiendo la sintaxis (el número decimal corresponderá al código del carácter que se quiera incluir): &#num_caracter; Mediante un nombre mnemotécnico, siguiendo la sintaxis: &num_caracter;

Tabla caracteres especiales:
imagen de codificación UTF-8

4.3. Etiquetas o marcas

Una etiqueta (tag), también conocida como marca o directiva, es un texto que va “encerrado” entre el símbolo “menor que” (<) y el símbolo “mayor que” (>).
Existen dos tipos fundamentales de etiquetas: las de inicio (como por ejemplo: <p>) y etiquetas de fin (como por ejemplo: </p>). Las etiquetas siempre afectan al texto (y otras directivas) que se encuentran dentro de su apertura y cierre.
Existen etiquetas que no requieren de apertura y cierre. Para estas, se suele añadir el carácter "/" justo antes de “>”. Por ejemplo: <br>/, <img>/, <meta>/, etc.

4.4. Elementos

Los elementos constan de la etiqueta de inicio, la etiqueta de fin y todo el contenido que se encuentra encerrado entre ambas. Es posible que un elemento HTML no tenga contenido o, lo que es lo mismo, que esté vacío. Por ejemplo: <p>, </p>.

4.5. Atributos

Un atributo es un conjunto formado por un nombre y un valor que se localiza dentro de la etiqueta de inicio de un elemento. Este par (nombre-valor) indica alguna propiedad asociada al elemento en cuestión.
Los atributos que se definen dentro de los elementos HTML se suelen incluir para alterar el comportamiento de los mismos.

4.6. Comentarios

Los comentarios son bloques de texto que se pueden incluir en los documentos escritos con lenguajes de marcas y que son ignorados por los programas que visualizan el contenido de los mismos (por ejemplo un navegador). Los comentarios empiezan por la cadena “<!--“ y terminan con la cadena “-->”. Los comentarios son muy útiles para los desarrolladores, ya que pueden indicar anotaciones y aclaraciones en el código que escriben sin que estas afecten al procesamiento del documento en cuestión.

5. Documentos válidos y bien formados. Esquemas

La validación XML consiste en la comprobación de que un documento escrito en este estándar está bien formado y además es válido.

Se considera que un documento XML está bien formado si cumple las siguientes reglas:

  • Todos los elementos tienen que tener su correspondiente cierre.
  • Tener siempre presente que XML es sensible a mayúsculas.
  • El anidamiento de los elementos debe ser correcto.
  • Cada documento XML debe presentar un elemento raíz que no puede ser duplicado. Este es el primero que es “abierto” y el último que se “cierra”.
  • Cada uno de los atributos debe escribirse entre comillas.
  • Respecto a los atributos que son booleanos, su valor debe explicitarse de manera redundante. Una variable de tipo booleano es una variable que solo acepta los valores 0 y 1.
  • Deben preservarse los espacios en blanco.
  • Los comentarios deben tener la sintaxis: <!-- comentario -->.
  • Los elementos pueden nombrarse con: letras, números y los signos de puntuación: guión (-), guión bajo (_) y punto (.).
  • Los nombres de los elementos no pueden comenzar por números o un signo de puntuación (esto no es aplicable al guión bajo). Tampoco pueden empezar por la cadena “xml” (ya sea mayúscula o minúscula).
  • Los elementos no pueden nombrase con ningún espacio.
Por otro lado, un documento XML es considerado válido si cumple las limitaciones que le imponga una DTD o un esquema. Una DTD es un documento que está escrito en un lenguaje creado a partir de SGML y, gracias a este, se pueden especificar nombres de elementos concretos y asignarles los atributos que pueden aceptar y sus valores posibles, qué elementos se pueden anidar dentro de ellos y con qué asiduidad pueden (o tienen que) aparecer, etc.