1. Introducción a los
lenguajes de marcas
Índice
• Introducción – ¿Que es el marcado? – Lenguajes de marcas. – ¿Qué es XML? – Ventajas de XML • Construyendo documentos XML– Estructura jerárquica de elementos
– Algunas normas – El prólogo – Elementos – Atributos – Secciones CDATA – Comentarios
¿Que es el marcado?
• Marcado
– Forma en que el editor anota los manuscritos.
• Documentos electrónicos
– Códigos, también llamados etiquetas ó marcas que definen la estructura y/o formato en el que tiene que aparecer la información:
– Estructura
– Lógica. Partes que componen el documento y sus relaciones.
– Física. Apariencia del documento
(componentes, tipografía, posicionamiento, ...)
Actividad
• “web 2.0... The Machine is us/ing us”.
– http://www.youtube.com/watch?v=6gmP4nk0 EOE
• Web 3.0
– http://www.youtube.com/watch?v=sjeLotFrJt k&feature=fvw
Lenguajes de marcas
• SGML
– Standard Generalized Markup Language
• HTML – HiperText ML • XML – eXtensible ML • XHTML – eXtensible HiperText ML • TeX
– Matemáticas, Física e Informática
¿Qué es XML?
• Es un subconjunto de SGML (Standard
Generalized Mark-up Language),
simplificado y adaptado a Internet
• XML (eXtensible Mark-up Language) no es
sólo un lenguaje de marcado
• XML es un meta-lenguaje que permite
definir lenguajes de marcado adecuados a usos determinados
<libro>
<autor>Antonio Muñoz Molina</autor> <titulo>El Jinete Polaco</titulo> <precio moneda=“EURO”>20</precio> </libro>
Ventajas de XML
• Procesable por humanos y por software
• Separa la información o el contenido de
su presentación o formato
• Ideal para transacciones B2B
• Permite poderosas técnicas de extracción
de información y data-mining
Construyendo documentos XML
• El elemento y sus atributos
<autor pais=“ES”>Antonio Muñoz Molina</autor>
• XML “bien-formado” (well-formed)
– Cumple una serie de reglas descritas en la especificación oficial de XML v1.0
– World Wide Web Consortium (W3C)
Nombre del elemento Nombre del atributo
Valor del atributo
Contenido del elemento
Estructura jerárquica de elementos
• Los elementos deben seguir una estructura
de “árbol”, es decir, estrictamente jeráquica
• Los elementos deben estar correctamente
anidados
• Los elementos no se pueden superponer
entre ellos
• Sólo puede haber un elemento raíz, en el
Estructura jerárquica de elementos
mensaje
remitente
destinatario
asunto: Informe de ventas
texto
nombre: Topacio Jade
email: [email protected]
nombre: Esmeralda Turquesa
email: [email protected]
parrafo: Ya esta acabado el informe.
parrafo: Lo he dejado en el servidor del
Estructura jerárquica de elementos
<?xml version="1.0" encoding="UTF-7"?> <!DOCTYPE mensaje SYSTEM “mensaje.dtd”> <mensaje> <remitente> <nombre>Topacio Jade</nombre> <email>[email protected]</email> </remitente> <destinatario> <nombre>Esmeralda Turquesa</nombre> <email>[email protected]</email> </destinatario> <asunto>Informe de ventas</asunto> <texto>
<parrafo> Ya esta acabado el informe. </parrafo> <parrafo> Lo he dejado en el servidor del departamento. </parrafo>
</texto> </mensaje>
Algunas normas
• Todas las etiquetas tienen que estar
debidamente “cerradas”
– etiqueta de cierre que se corresponda con la de
apertura
• Las etiquetas sin contenido tienen una
sintaxis especial <animal> Perro
<raza tipo="Cocker Spaniel">
<animal> Vaca
<raza tipo="Holstein"><animal> Perro
<raza tipo="Cocker Spaniel">
</animal>
<animal> Vaca
<raza tipo="Holstein">
</animal> <animal> Perro
<raza tipo="Cocker Spaniel" />
</animal>
<animal> Vaca
<raza tipo="Holstein" />
Algunas normas
• Un nombre de elemento, atributo,
entidad, etc., debe empezar siempre por una letra.
• Las letras “XML” (o “xml” o “xMl”,etc.) no
pueden usarse como caracteres iniciales de un nombre de elemento, atributo, etc.
• XML es “case-sensitive”: <autor><Autor>
• El uso del espacio en blanco y los saltos de
línea sólo se tienen en cuenta cuando aparecen en el valor de un atributo, o cuando se indica su significado.
Marcado y datos
• Las construcciones como etiquetas,
referencias de entidad y declaraciones se denominan “marcas” (mark-up) y son las partes que el analizador sintáctico (parser) espera comprender
• El resto del documento, que se encuentra
entre las “marcas”, son los datos que resultan entendibles por las personas
• Marcas en un documento XML son aquellas
que comienzan con “<“ y terminan con “>”
• En el caso de referencias de entidad, el
El prólogo
• Es opcional
• La primera línea permite especificar:
– La versión de XML (1.0 ó 1.1)
– La codificación de carácter (US-ASCII, UTF-8, UTF-7, UCS-2, EUC-JP, Big5, ISO-8859-1, etc.)
• La segunda línea define el tipo de
documento, especificando qué DTD (Document Type Definitions) valida y define los datos que contiene
<?xml version="1.0" encoding="UTF-7”?> <!DOCTYPE mensaje SYSTEM “mensaje.dtd”>
<?xml version="1.0" encoding=“ISO-8859-1”?>
<!DOCTYPE HTML PUBLIC “-/ /W3C/ /DTD HTML 3.2 Final/ /EN”>
Elementos
• Elementos con contenido
• Elementos vacíos
<nombre>Fulano Mengánez</nombre>
<aviso tipo=“emergencia” gravedad=“mortal”> Que no cunda el pánico</aviso>
<identificador referencia=“1234567890”/> <linea-horizontal/>
Atributos
• Manera de incorporar características o
propiedades a los elementos
• Pueden estar marcados entre comillas
simples (‘) o dobles (“)
• Un concepto se puede representar de
diversas formas: consistencia
<verdura clase=“zanahoria” longitud=’15” y media’>
<cita texto=“’Hola, buenos días’, dijo él”>
<gato><nombre>Micifú</nombre><raza>Persa</raza></gato> <gato raza=“Persa”>Micifú</gato>
Entidades predefinidas
• En XML 1.0 se definen cinco entidades
para representar caracteres especiales y que no se interpretan como marcado por el procesadr XML Entidad Caracter & & < < > > ' ‘ " “
Secciones CDATA
• Construcción en XML que permite
especificar datos, utilizando cualquier carácter, especial o no, sin que se
interprete como marcado XML.
• La razón de esta construcción es que a
veces es necesario para los autores de
documentos XML, poder leerlo facilmente sin tener que descifrar los códigos de
entidades. Especialmente cuando son muchas. <ejemplo> <HTML> <HEAD><TITLE>Rock & ROLL</TITLE> </HEAD> </ejemplo> <ejemplo> <![CDATA[ <HTML>
<HEAD><TITLE>Rock & Roll</TITLE></HEAD>
]]>
Comentarios
• Insertados en el documento XML
• Ignorados por el procesado de la información
y las reproducciones del documento
• Tienen el mismo formato que en HTML
– Comienzan por “<!--” y terminan con “-->”
• Se pueden introducir en cualquier lugar de la
instancia o del prólogo, pero nunca dentro de las declaraciones, etiquetas u otros
Ejercicio
• Comprobar si es correcto el siguiente documento XML
<name>Oyster Soup</name>
<author>Eric Lease Morgan</author>
<copyright holder=Eric Lease Morgan>© 2003</copyright> <ingredients>
<list>
<item>1 stalk of celery <item>1 onion
<item>2 tablespoons of butter
<item>2 cups of oysters and their liquor <item>2 cups of half & half
</list>
</ingredients> <process>
<P>Begin by sauteing the celery and onions in butter until soft. Add oysters, oyster liquor, and cream. Heat until the oysters float. Serve in warm bowls.</p>
<p><i>Yummy!</p></i> </process