Tema 1
Tema 1
Tema 1
1. Lenguajes de marcas.
Un "lenguaje de marcas" es una forma de codificar un documento donde, junto con
el texto, se incorporan etiquetas, marcas o anotaciones con información adicional
relativa a la estructura del texto o su formato de presentación. Permiten hacer explícita
la estructura de un documento, su contenido semántico o cualquier otra información
lingüística o extralingüística que se quiera hacer patente.
Los lenguajes de marca 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 ni elementos para controlar el flujo del programa, como sí
poseen los lenguajes de programación. Para cada lenguaje de marca, los
desarrolladores de software pueden construir una aplicación para leer los
documentos escritos en ese lenguaje. Por ejemplo, los navegadores web leerán los
documentos HTML. Los documentos escritos en XML pueden leerse por medio de
aplicaciones personalizadas.
Todo lenguaje de marcas está definido en un documento denominado DTD (Document
Type Definition). Un DTD es un documento que define la estructura válida de un
documento creado mediante un lenguaje de marca. En él se establecen las marcas, los
elementos utilizados por dicho lenguaje y sus correspondientes etiquetas y atributos,
su sintaxis y normas de uso.
Ejemplo
Aspecto de un documento realizado con un lenguaje de marcas:
<carta>
<fecha>22/11/2006</fecha>
<presentación>Estimado cliente:</presentación>
<contenido>bla bla bla bla …</contenido>
<firma>Don José Gutiérrez González</firma>
</carta>
‐1‐
Algunos ejemplos de lenguajes de marcado agrupados por su ámbito de utilización son:
• Documentación electrónica
o RTF (Rich Text Format): Formato de Texto Enriquecido, fue desarrollado por
Microsoft en 1987. Permite el intercambio de documentos de texto ente distintos
procesadores de texto.
o TeX: Su objetivo es la creación de ecuaciones matemáticas complejas.
• Tecnologías de internet
o HTML, XHTML: (Hypertext Markup Language, eXtensible Hypertext Markup
Language): Su objetivo es la creación de páginas web.
• Otros lenguajes especializados
o MathML (Mathematical Markup Language): Su objetivo es expresar el
formalismo matemático de tal modo que pueda ser entendido por distintos
sistemas y aplicaciones.
o VoiceXML (Voice Extended Markup Language) tiene como objetivo el
intercambio de información entre un usuario y una aplicación con capacidad de
reconocimiento de habla.
o MusicXML: Permite el intercambio de partituras entre distintos editores de
partituras.
‐2‐
Ejemplo
Código de marcas anterior a GML. Las etiquetas son de invención propia.
Dado el siguiente documento:
<times 14><color verde><centrado> Este texto es un ejemplo para mostrar la utilización
primitiva de las marcas</centrado></color></times 14>
<color granate><times 10><cursiva>Para realiza este ejemplo se utilizan etiquetas de
nuestra invención. </cursiva> Las partes importantes del texto pueden resaltarse usando
la <negrita>negrita</negrita>, o el <subrayar>subrayado</subrayar></times 10></color>
Al imprimirlo se obtendría:
Este texto es un ejemplo para mostrar la utilización primitiva de las marcas
Para realiza este ejemplo se utilizan etiquetas de nuestra invención. Las partes importantes
del texto pueden resaltarse usando la negrita, o el subrayado
‐3‐
Ejemplo
Documento SGML sencillo:
<email>
<remitente>
<persona>
<nombre> Pepito </nombre>
<apellido> Grillo </apellido>
</persona>
</remitente>
<destinatario>
<dirección> pinocho@hotmail.com </dirección>
</destinatario>
<asunto>¿quedamos?</asunto>
<mensaje> Hola, he visto que ponen esta noche la película que
querías ver. ¿Te apetece ir?</mensaje>
</email>
‐4‐
Ejemplo
Documento HTML
<html>
<head>
<title> Ejemplo de código HTML</title>
</head>
<body bgcolor="#ffffff">
<p></p>
<p>
<b>20 de octubre de 2010</b>
</p>
<p><b> Bienvenido al módulo de “Lenguajes de Marcas y Sistemas de Gestión de
Información” </b></p>
<p> En este curso aprenderás, entre otras cosas:<br/>
<ul>
<li>Las ventajas que ofrece XML </li>
<li>La creación de documentos bien formados </li>
<li>La creación de DTD</li>
</ul>
</p>
</body>
</html>
‐5‐
diferencia de HTML las etiquetas indican el significado de los datos en lugar del
formato con el que se van a visualizar los datos.
• XSL, eXtensible Style Language. Permite definir hojas de estilo para los
documentos XML e incluye capacidad para la transformación de documentos.
• XML Linking Language, incluye Xpath, Xlink y Xpointer. Determinan aspectos
sobre los enlaces entre documentos XML.
• XML Schemas. Permiten definir restricciones que se aplicarán a un documento
XML. Actualmente los más usados son las DTD.
Ejemplo
Fichero XML
<?xml version="1.0" encoding="iso‐8859‐1"?>
<!DOCTYPE libro>
<libro>
<titulo>XML practico </titulo>
<autor>SebastienLecomte</autor>
<autor>Thierry Boulanger</autor>
<editorial>Ediciones Eni</editorial>
<isbn>978‐2‐7460‐4958‐1</isbn>
<edicion>1</edicion>
<paginas>347</paginas>
<libro>
‐6‐
Al interpretar este fichero con un navegador, por ejemplo, Mozilla, se obtiene:
Fichero HTML
<html>
<head>
<title>Libro</title>
<head>
<body>
<h3>XML práctico</h3><br>
<p>autores: Sebastien Lecomte, Thierry Boulanger</p>
<ul>
<li>editorial: Ediciones Eni</li>
<li>isbn:978‐2‐7460‐4958‐1</li>
<li>edicion: 1 </li>
<li>páginas: 347</li>
</ul>
</ bodyy>
</ html>
‐7‐
DAW Reconocimiento de las características de lenguajes de marcas
Como podemos ver el resultado que muestra el navegador con un documento HTML es muy
diferente del que muestra con un fichero XML.
2.5 XHTML
Las diferencias entre HTML y XML son: la sintaxis HTML está inspirada en la norma SGML
(aunque no la cumple estrictamente), mientras que la sintaxis XHTML está basada en la
recomendación XML (aunque tampoco la cumple estrictamente).
‐8‐
DAW Reconocimiento de las características de lenguajes de marcas
3.1. Editores
Una característica de los lenguajes de marcas es que se basan en la utilización de ficheros de
texto plano por lo que basta utilizar un procesador de texto normal y corriente para construir un
documento XML o HTML.
Para crear documentos XML complejos e ir añadiendo datos es conveniente usar algún editor
XML. Estos nos ayudan a crear estructuras y etiquetas de los elementos usados en los
documentos, además algunos incluyen ayuda para la creación de otros elementos como DTD,
hojas de estilo CSS o XSL, ... El W3C ha desarrollado un editor de HTML, XHTML, CSS y XML
gratuito cuyo nombre es Amaya.
3.2 Procesadores
Para interpretar el código XML o HTML se puede utilizar cualquier navegador. Los
procesadores de XML permiten leer los documentos XML y acceder a su contenido y
estructura. Un procesador es un conjunto de módulos de software entre los que se encuentra
un analizador de XML que comprueba que el documento cumple las normas establecidas para
que pueda abrirse. Estas normas pueden corresponderse con las necesarias para trabajar sólo
con documentos de tipo válido o sólo exigir que el documento esté bien formado; los primeros
se conocen como validadores y los segundos como no validadores. El modo en que los
procesadores deben leer los datos XML está descrito en la recomendación de XML establecida
por W3C.
Para publicar un documento XML en Internet se utilizan los procesadores XSLT, que permiten
generar archivos HTML a partir de documentos XML.
Puesto que XML se puede utilizar para el intercambio de datos entre aplicaciones, hay que
recurrir a motores independientes que se ejecutan sin que nos demos cuenta. Entre estos
destacan "XML para Java" de IBM, JAXP de Sun, etc
4. Gramáticas
La DTD (Definición de Tipo de Documento) establece las reglas de formación del lenguaje, es
decir, qué combinaciones de símbolos son sintácticamente correctas. La especificación del
W3C para HTML 4.0 contempla:
• DTD estricta: incluye todos los elementos y atributos que no han sido declarados
“desaprobados” (deprecated).
• DTD transicional o flexible: incluye todo lo de la anterior más los elementos y atributos
desaprobados (deprecated).
• DTD para documentos con marcos: engloba todo lo incluido en la transicional más lo
relativo a la creación de documentos con marcos (frames).
5. Organizaciones y estándares
La normalización o estandarización permite la creación de normas o estándares que establecen
las características comunes que deben cumplir los productos y que deben ser respetadas por
todos.
Aplicado al contexto de los lenguajes de marcas, sería por ejemplo el desarrollo de páginas
web atendiendo a las especificaciones oficiales del lenguaje utilizado. Son un montón de
normas para hacer bien una web.
‐9‐
DAW Reconocimiento de las características de lenguajes de marcas
‐ 10 ‐