Unidad didáctica 1
Introducción a los lenguajes de marcas
AVILÉS
_______________________________________________________________________
CONTENIDOS
Conceptos
Lenguajes de marcas: tipos y clasificación de los más relevantes.
Lenguaje XML: estructura y sintaxis.
Etiquetas.
Herramientas de edición.
Elaboración de documentos bien formados.
Metalenguaje.
Los lenguajes de marcas y la web semántica.
Procedimientos
Identificar las características generales de los lenguajes de marcas.
Identificar las ventajas que proporcionan los lenguajes de marcas en el
tratamiento de la información.
Clasificar los lenguajes de marcas más relevantes según tipología.
Identificar el ámbito de aplicación de un lenguaje de marcas de
propósito general.
Identificar las características propias del lenguaje XML
o Crear descripciones de documentos XML.
o Asociar descripciones a documentos XML.
Validar descripciones de documentos XML
2
AVILÉS
_______________________________________________________________________
1.- Introducción.
Los lenguajes de marcas son
aquellos que permiten codificar los
documentos incorporando junto al texto
información adicional relativa a la
estructura del texto o su formato de
presentación. Se hace mediante el uso de
etiquetas, marcas o tags. Las marcas son “señales” incluidas en el texto que delimitan
una parte de este y que serán interpretadas convenientemente por el software
adecuado. Las marcas más comunes consisten en una palabra entre los símbolos menor
que y mayor que (< >).
Los lenguajes de marcas no son lenguajes de programación, sino que son reglas
de descripción de información que le dan una estructura y facilitan su procesamiento.
Algunos de ellos sí que pueden combinar dentro del documento otros lenguajes, por
ejemplo, HTML (HyperText Markup Language), que es un lenguaje de marcas, puede
incluir en el mismo documento JavaScript o PHP (son lenguajes de programación),
incrementando su funcionalidad.
Existen muchos lenguajes de marcas, cada uno con su propia estructura y
formato. Son muy utilizados y su ámbito de aplicación es muy diverso, ya que permite
el intercambio de datos entre distintas aplicaciones, independientemente de la
plataforma utilizada. Gran cantidad de software usa datos en formato XML (eXtensible
Markup Language) para configuración, guardar información, publicar contenidos, definir
interfaces gráficas, etc.
Uno de los más populares es HTML, lenguaje de marcas que se utiliza para crear
páginas web. Por ejemplo, en este lenguaje la etiqueta <h1> indica un formato de
cabecera: <h1>Hola Mundo</h1>
2.- Evolución de los lenguajes de marcas.
Los lenguajes de marcas surgen para intentar resolver los problemas asociados al
tratamiento de documentos en diferentes plataformas. Charles Goldfarb, investigador
para la compañía IBM, es considerado el padre de los lenguajes de marcas, al crear el
lenguaje GML (Generalized Markup Language) a finales de los años 60 del siglo pasado.
GML independiza el documento del dispositivo que lo va a utilizar incorporando marcas
descriptivas para la estructura del documento. En 1986 GML pasó a manos de la ISO
(International Organization for Standarization) y se convirtió en SGML (ISO 8879),
Standard Generalized Markup Language. SGML no es estrictamente un lenguaje, sino un
metalenguaje (conjunto de normas que permite crear otros lenguajes)
En 1991 Tim Berners-Lee, en el CERN, desarrolla HTML. Está basado en SGML y
es el lenguaje de referencia para la elaboración de páginas web. El lenguaje de marcas
HTML es el lenguaje más importante de Internet, fundamental en la aparición y
desarrollo de la World Wide Web. Es un estándar a cargo del World Wide Web
3
AVILÉS
_______________________________________________________________________
Consortium (W3C), organización dedicada a la estandarización de casi todas las
tecnologías ligadas a la web. El W3C se creó en 1994 por Tim Berners-Lee en el MIT,
actual sede central del consorcio W3C. Su función principal es tutelar el crecimiento y
organización de la Web. Su primer trabajo fue normalizar el lenguaje HTML, el lenguaje
de marcas con el que se escriben las páginas Web.
XML es un lenguaje desarrollado por el W3C en 1998, basado en SGML,
utilizado para el almacenamiento e intercambio de datos entre distintos sistemas,
independientemente del hardware o del software de dichos sistemas, de una manera
segura, fiable y fácil. XML es un metalenguaje, es decir, puede ser empleado para definir
otros lenguajes para diferentes necesidades.
3.- Tipos.
Lenguajes de marcas de presentación
Son lenguajes orientados a la presentación de información. Indican el formato del
texto, por ejemplo, el tamaño de la fuente, centrar el texto, poner en cursiva, colores,
etc.
Los procesadores de texto y las aplicaciones de edición utilizan este tipo de marcado.
El software interpreta los códigos y da el formato correspondiente al documento.
Generalmente las marcas de los lenguajes orientados a presentación se ocultan al
usuario lo que permite obtener un efecto WYSIWYG (“What You See Is What You Get”,
“lo que ves es lo que obtienes”). HTML en sus primeras versiones y RTF son ejemplos de
este tipo.
o RTF
Rich Text Format (formato de texto enriquecido) es un lenguaje de marcas
desarrollado por Microsoft en 1987 para el intercambio de documentos.
Richard Brodie, Charles Simonyi, y David Luebbert, miembros del equipo de
desarrollo de Microsoft Word, crearon el RTF original en los años 1980.
La mayoría de los procesadores de texto pueden leer y escribir documentos RTF.
Básicamente consisten en documentos de texto con anotaciones de formato para su
presentación. Se utiliza en entornos Windows como formato de intercambio entre
distintos procesadores de texto por su potencia. El procesador de texto Word Pad lo
utiliza.
Lenguajes de marcas descriptivos, estructurales o semánticos
Indican las diferentes partes en las que se estructura el documento, pero sin
especificar como deben representarse ni en qué orden. Las marcas dan significado al
texto, pero no indican cómo se debe presentar en pantalla el mismo. Es el caso de JSON
(JavaScript Object Notation), HTML en sus versiones actuales y XML y sus lenguajes
derivados. Ejemplos de lenguajes basados en XML son RSS (Really Simple Syndication,
4
AVILÉS
_______________________________________________________________________
Sindicación Realmente Simple), MathML (Mathematical Markup Language, Lenguaje de
Marcado Matemático), XHTML (eXtensible HyperText Markup Language, Lenguaje de
Marcado de Hipertexto eXtensible), SVG (Scalable Vector Graphics, Gráficos Vectoriales
Escalables), etc.
Lenguajes de marcas de procedimientos
Se trata de documentos en los que las marcas se interpretan como órdenes a seguir,
y así el archivo en realidad contiene instrucciones a realizar con el texto (girarle,
convertirle en una fórmula, realizar una suma, etc.). Es el caso de TeX, LaTeX y Postscript
o TeX
Es un lenguaje de marcas creado por Donald E. Knuth en la década de los 70. Fue
muy popular en el entorno académico, especialmente entre las comunidades de
matemáticos, físicos e informáticos. Ha conseguido sustituir con creces al lenguaje
“troff”, otro lenguaje de tipografía habitual en Unix. TeX se considera generalmente una
de las mejores formas de componer fórmulas matemáticas. Permite elaborar
documentos científicos de gran calidad en los resultados.
o Latex
Es un lenguaje derivado de Tex creado en 1984 por Leslie Lamport, que permite la
composición de textos con una alta calidad tipográfica.
LaTeX está formado por un gran conjunto de macros de TeX con la intención de
simplificar y facilitar el uso del lenguaje de composición tipográfica Tex.
Por sus características y posibilidades, es usado de forma especialmente intensa en
la generación de artículos y libros científicos que incluyen, entre otros elementos,
expresiones matemáticas.
Los lenguajes de marcas se caracterizan por estar constituidos únicamente por texto
plano, ser independientes de cualquier plataforma hardware y software, su flexibilidad
(se pueden utilizar en múltiples contextos) y facilidad de procesamiento.
Son documentos que están compuestos únicamente por caracteres de texto (letras,
números, caracteres especiales). Se representan utilizando diferentes códigos,
dependiendo del alfabeto que se necesite. Por ejemplo, ASCII, ISO 8859-1 (se utiliza para
la representación del alfabeto latino, con la ñ, acentos, etc.), UTF-8 y otros. Pueden ser
interpretados directamente por un editor de texto (por ejemplo, el bloc de notas de
Windows).
4.- Etiquetas.
Los lenguajes de marcas utilizan una serie de etiquetas especiales intercaladas en un
documento de texto sin formato. Dichas etiquetas serán posteriormente interpretadas
por los intérpretes del lenguaje para el procesado del documento.
5
AVILÉS
_______________________________________________________________________
Las etiquetas se escriben encerradas entre símbolos especiales, que normalmente
son el símbolo menor que (<) y el símbolo mayor que (>). Normalmente existe una
etiqueta de apertura y otra de etiqueta de cierre que se diferencian por algún otro
carácter especial, como el carácter / (<nombre> </nombre>)
Las etiquetas o marcas le confieren un significado especial al texto encerrado entre
ellas y permite que sea tratado de forma diferente por el software encargado de
procesarlo.
Dentro de las etiquetas podemos
encontrarnos con otros objetos que no son más
que propiedades que modifican o matizan el
significado de la etiqueta. Son los atributos, que
consisten es un par “nombre=valor” que se
encuentra dentro de la etiqueta de inicio de un
elemento e indica las propiedades que pueden
llevar asociadas ese elemento. Los atributos no
pueden organizarse jerárquicamente, no pueden
contener ningún otro elemento o atributo.
El conjunto formado por las etiquetas de inicio
y fin y todo lo que se encuentra entre ambas constituye un elemento. Los elementos
forman una estructura jerarquizada distinguiéndose elementos padre y elementos hijos.
5.- Lenguajes de marcas. Características y estructura.
Cuando se habla de un lenguaje de marcas, se está haciendo referencia a la
información añadida mediante marcas a los datos propiamente dichos del documento.
Las características fundamentales de los lenguajes de marcas son las siguientes:
Independencia. Su uso no debe depender de ninguna plataforma hardware
ni sistema software concreto.
Almacenados en texto plano. El documento está compuesto únicamente por
caracteres de texto.
Flexibilidad. Los lenguajes de marcas deben ser lo suficientemente flexibles
para poder utilizarse en diferentes contextos.
Compactibilidad. Las marcas y el contenido se encuentran en el mismo
documento.
Facilidad de procesamiento. El formato debe ser diseñado de tal manera que
el procesamiento automático sea sencillo.
Cada lenguaje tiene su propia estructura y formato. En el caso de XML, se trata
de documentos de texto con extensión .xml. Están compuestos por los propios datos
que forman la verdadera información del documento XML, y el marcado, que son las
etiquetas que se añaden al texto para estructurar el contenido del documento.
6
AVILÉS
_______________________________________________________________________
Las etiquetas en XML se deciden a voluntad, no hay una lista concreta de etiquetas
que se pueden utilizar. La idea es que con XML estamos definiendo un tipo de documento
cuya forma, significado y estructura dependerán solo de nuestras necesidades.
En un documento XML podemos distinguir dos partes: prólogo, que es opcional y
elemento raíz, que es obligatorio.
El prólogo aparece al principio del documento, antes del ejemplar, y comienza con la
declaración XML, que incluye la versión de XML utilizada para elaborar el documento y
la codificación empleada para representar los caracteres.
<?xml versión= “1.0” encoding=”iso-8859-1” ?>
Indica que el documento fue
creado para la versión 1.0 de XML y
que se usa el código iso-8859-1
(Latin-1) que permite el uso de
acentos o caracteres como la ñ. Lo
habitual es utilizan la versión 1.0 y la
codificación utf-8.
El prólogo también incluye la
indicación de documentos que sirven
para validar el documento XML
actual (DTD, XSD, …) o que le afectan
(por ejemplo, XSLT). Pueden incluirse comentarios. Se inician con los símbolos <!- - y
terminan con - - >
El elemento raíz aparece tras el prólogo y es el contenido en sí del documento.
Dentro del elemento raíz, que es único, no encontramos con más elementos, atributos
y texto. Los elementos de un documento XML establecen una jerarquía que estructura
su contenido. Esa jerarquía se puede representar en forma de árbol.
Todo documento XML tiene que cumplir un conjunto de normas y reglas sintácticas:
En un documento XML debe existir un elemento raíz, y sólo uno, del que
descienden todos los demás.
Cada elemento de un documento <?xml version="1.0" encoding="iso-
XML está precedido por una 8859-1"?>
etiqueta de apertura compuesta por <libro>
un nombre y rodeada por los <titulo>XML practico </titulo>
símbolos < y >. <autor>Sebastien Lecomte</autor>
<autor>Thierry Boulanger</autor>
Cada elemento de un documento <editorial>Ediciones Eni</editorial>
XML está seguido por una etiqueta <isbn>978-2-7460-4958-1</isbn>
de cierre, compuesta por el mismo <edicion>1</edicion>
nombre de la etiqueta de apertura y <paginas>347</paginas>
rodeada por los símbolos </ y >. <libro>
7
AVILÉS
_______________________________________________________________________
El contenido de un elemento de un documento XML puede ser un texto, o uno o
más elementos.
En un documento XML, un elemento puede estar vacío y no contener ningún
valor. Esto se construye de la forma <elemento></elemento>.
Al anidar elementos hay que tener en cuenta que no puede cerrarse un elemento
que contenga algún otro elemento que aún no se haya cerrado.
Los documentos XML son sensibles a minúsculas y mayúsculas (case sensitive).
Es una buena práctica escribir los nombres de las etiquetas en minúsculas.
Los nombres de las etiquetas de inicio y de cierre de un mismo elemento han de
ser idénticos, respetando las mayúsculas y minúsculas.
El nombre de las etiquetas y de los atributos debe comenzar por una letra o
subrayado (_). Después puede tener más letras, números, puntos o el signo de
subrayado o guion bajo.
Un atributo está compuesto de un nombre del atributo, el símbolo = y el valor
del atributo entrecomillado.
Un elemento puede tener entre O y n atributos.
Los valores de los atributos deben ir siempre entrecomillados, para lo que puede
usarse la comilla simple o doble.
Se dice que un documento XML está bien formado cuando cumple las reglas de
sintaxis, reglas que debemos tomar como obligadas. Todo documento XML que no está
bien formado es marcado como incorrecto por los analizadores o parsers de XML.
Un procesador XML, analizador o parser, es un software que puede leer y
analizar un documento XML.
Para escribir documentos XML se puede utilizar cualquier editor de texto plano,
como pueden ser el bloc de notas de Windows o el editor vi de Linux. Pero es
conveniente utilizara editores especializados que reconozcan el lenguaje y faciliten su
edición (colorean el código, marcan errores, …).
Entre los editores y entornos de trabajo, que tienen diversas prestaciones y
facilitan el trabajo con documentos XML, podemos citar:
o Notepad ++, Atom, SublimeText, Adobe Dreamweaver, XMLCopyEditor,
Oxygen, XML Notepad, Liquid studio, Komodo, Adobe FrameMaker, Brackets,
Aptana Studio, Kompozer, Visual Studio, …
8
AVILÉS
_______________________________________________________________________
6.- Lenguajes de marcas. Ejemplos.
La web y las aplicaciones desarrolladas sobre la tecnología de internet han
supuesto un importante incremento en el uso de los lenguajes de marcas tanto para
representar información como para intercambiar datos entre sistemas. Además, existen
diversos campos en los que los lenguajes de marcas tienen una utilidad importante,
como pueden ser la configuración de aplicaciones o la definición de interfaces gráficas
de usuario.
Actualmente, los lenguajes de marcas más habituales tienen como objetivos
principales la representación de información (HTML y XHTML) o el almacenamiento e
intercambio de información (XML y sus dialectos, y el formato de intercambio JS0N).
Algunos de los lenguajes de marcas y dialectos de uso más común en la
actualidad son los siguientes:
HTML
o Lenguaje para crear páginas web. Es el lenguaje de marcas más conocido y
utilizado. Los ficheros HTML tienen extensión .html o .htm.
XML
o Es un subconjunto de SGML. Es el lenguaje de intercambio de información entre
sistemas más importante. Un documento XML tiene múltiples usos, desde
almacenar la configuración de una aplicación, los mejores marcadores de un
videojuego, el diseño de una interfaz de usuario o la información de un gráfico
vectorial. Los archivos tienen extensión .xml.
XHTML
o Lenguaje HTML que cumple las reglas de XML. Tiene una sintaxis más estricta
y más formal que HTML. Los archivos tienen extensión .xhtml.
JSON
o Acrónimo de JavaScript Object Notation (notación de objetos de JavaScript).
Procede del lenguaje JavaScript. Actualmente compite con XML en
funcionalidad. Los archivos tienen extensión .json.
SVG
o Acrónimo de Scalable Vector Graphics o gráficos vectoriales escalables es un
dialecto de XML. Se utiliza para representar gráficos vectoriales de dos
dimensiones. La extensión de los ficheros SVG es .svg o .svgz.
MathML
o Mathematical Markup Language o lenguaje de marcado matemático, es un
dialecto de XML utilizado para notaciones matemáticas.
9
AVILÉS
_______________________________________________________________________
RSS
o Really Simple Sindication o sindicación realmente simple. Es un dialecto de
XML. Se utiliza para la distribución de contenidos de fuentes a las que los
usuarios se han suscrito previamente. Un ejemplo son los canales de noticias.
Atom
o Formato semejante al anterior, pensado también para distribuir contenidos a
los que nos podemos suscribir.
10