Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase 12
Clase 12
ndice
Introduccin
Qu es XML?
Ventajas de XML
SAX2 API
Introduccin
Webs de asignaturas de la Escuela
Informtica 3
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
un lenguaje de marcado
XML es un meta-lenguaje que permite
definir lenguajes de marcado adecuados a
usos determinados
<libro>
<autor>Antonio Muoz Molina</autor>
<titulo>El Jinete Polaco</titulo>
<precio moneda=EURO>20</precio>
</libro>
Ventajas de XML
Procesable por humanos y por software
Separa la informacin o el contenido de
su presentacin o formato
Etiqueta de fin
destinatario
mensaje
email: eturquesa@gmail.com
asunto: Informe de ventas
texto
Algunas normas
<animal> Perro
Todas
etiquetas
tienen que estar
<raza las
tipo="Cocker
Spaniel">
debidamente
cerradas
<animal>
Vaca
<raza
etiqueta
de cierre que se corresponda con la de
tipo="Holstein">
<animal> Perro
apertura
<raza tipo="Cocker Spaniel">
Las
etiquetas sin contenido tienen una
</animal>
sintaxis
<animal> especial
Vaca
<raza tipo="Holstein">
</animal> <animal> Perro
<raza tipo="Cocker Spaniel" />
</animal>
<animal> Vaca
<raza tipo="Holstein" />
</animal>
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
lnea slo se tienen en cuenta cuando
aparecen en el valor de un atributo, o
cuando se indica su significancia.
Marcado y datos
Las construcciones como etiquetas,
referencias de entidad y declaraciones se
denominan marcas (mark-up) y son las
partes que el analizador sintctico (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
carcter inicial es & y el final ;
El prlogo
Es opcional
version="1.0" encoding="UTF-7?>
<?xml
La
primera
lnea permite especificar:
<!DOCTYPE mensaje SYSTEM mensaje.dtd>
Elementos
Elementos con contenido
<nombre>Fulano Mengnez</nombre>
<aviso tipo=emergencia gravedad=mortal>
Que no cunda el pnico</aviso>
Elementos vacos
<identificador referencia=1234567890/>
<linea-horizontal/>
Atributos
Manera de incorporar caractersticas o
propiedades a los elementos
Pueden estar marcados entre comillas
simples () o dobles ()
<verdura clase=zanahoria longitud=15 y media>
<cita texto=Hola, buenos das, dijo l>
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
<ejemplo>
Construccin en XML que permite
<HTML>
especificar datos, utilizando cualquier
<HEAD><TITLE>Rock &
carcter, especial o no, sin que se
ROLL</TITLE>
interprete como marcado XML.
</HEAD>
</ejemplo>
La razn de esta construccin es que a
veces es necesario para los autores de
<ejemplo>
documentos XML, poder leerlo facilmente
<![CDATA[
sin tener
que
descifrar
los
cdigos
de
<HTML>
entidades.
Especialmente cuando son
<HEAD><TITLE>Rock & Roll</TITLE></HEAD>
muchas.
]]>
</ejemplo>
Comentarios
Insertados en el documento XML
Ignorados por el procesado de la informacin
y las reproducciones del documento
Tienen el mismo formato que en HTML
Comienzan por <!-- y terminan con -->
DTD
(Document Type Definition)
27 de Mayo de 2004
ndice
Validacin y definicin de documentos
DTD: Document Type Definition
Declaracin de Entidades
Ejemplos de DTD
<!DOCTYPE etiqueta [
<!ELEMENT etiqueta (nombre, calle, ciudad, pais, codigo)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT calle (#PCDATA)>
<!ELEMENT ciudad (#PCDATA)>
<!ELEMENT pais (#PCDATA)>
<!ELEMENT codigo (#PCDATA)>
]>
<etiqueta>
<nombre>Topacio Jade</nombre>
<calle>Minas de Moria, 13</calle>
<ciudad>Azanulbizar</ciudad>
<pais>Khuzdul</pais>
<codigo>78125</codigo>
</etiqueta>
<!DOCTYPE coche SYSTEM http://www.tecnun.es/coche.dtd>
<coche>
<modelo>...</modelo>
...
</coche>
<receta>
Deben empezar con <!ELEMENT
<titulo>Arroz cocido</titulo>
seguidas por el identificador genrico del
<ingredientes>Arroz</ingredientes>
<procedimiento>Cocer
el
arroz</procedimiento>
Documento XML
no
vlido
elemento
que
se
declara
</receta>
<receta>
A continuacin tienen una especificacin
<parrafo>La siguiente receta me la pas Alvaro</parrafo>
del
contenido
<titulo>Arroz
cocido</titulo>
<ingredientes>Arroz</ingredientes>
Ejemplo:
<procedimiento>Cocer el arroz</procedimiento>
</receta>
Especificacin de contenido
EMPTY: No tiene contenido.
<!ELEMENT linea-horizontal EMPTY>
Modelos de contenido
<!ELEMENT aviso (parrafo)>
Modelos de contenido
Indicador de frecuencia
Indicador
?
Frecuencia
Opcional (0 1 vez)
Opcional y repetible
(0 ms veces)
Necesario y repetible
(1 ms veces)
(de, a, texto)>
<!ATTLIST
mensaje
prioridad (normal
| urgente)
normal>
Aaden
informacin
adicional
a los elementos
<!ELEMENT texto (#PCDATA)>
Slo se pueden especificar una vez y en cualquier
<!ATTLIST texto idioma CDATA #REQUIRED>
orden
No pueden contener sub-atributos
Declaracin
<mensaje prioridad=urgente>
<de>Topacio Jade</de>
Empiezan
<a>Esmeralda
Turquesa</a>
con <!ATTLIST
<texto
idioma=espaol>
Identificador
del elemento al que
Hay que preparar los informes de junio
Nombre del atributo
</texto>
Tipo
</mensaje>
se aplica
Tipos de Atributos
Atributos CDATA (character data): Pueden
contener casi cualquier cosa
<!ATTLIST mensaje fecha CDATA #REQUIRED>
< mensaje fecha=21 de Mayo de 2003>
Tipos de Atributos
Atributos ID e IDREF
enlace EMPTY>
enlace destino IDREF #REQUIRED>
capitulo (parrafo)*>
capitulo referencia ID #IMPLIED>
Declaracin de Entidades
La Entidades se utilizan para hacer
referencia a objetos (ficheros, pginas
Web, imgenes,...) que no deben ser
analizados sintcticamente segn las
reglas de XML
Se declaran mediante <!ENTITY
Puede usarse para declarar una
abreviatura que se utiliza como una forma
ms corta de algunos textos
En otras ocasiones es una referencias a un
objeto externo o local
Tipos de Entidades
Las entidades pueden ser:
Internas Externas
Analizadas o No analizadas
Generales o Parmetro
Tipos de Entidades
Entidades generales externas analizadas
<!ENTITY intro SYSTEM http://www.tecnun.es/intro.xml>
Entidades no analizadas
<!ENTITY logo SYSTEM http://www.tecnun.es/logo.gif>
Ejemplo de DTD
<?xml encoding=UTF-7?>
<!ELEMENT lista (persona)+>
<!ELEMENT persona (nombre, email*, relacion?)>
<!ATTLIST persona id ID #REQUIRED>
<?xml version=1.0?>
<!ATTLIST
persona sexo (hombre | mujer) #IMPLIED>
<!ELEMENT nombre (#PCDATA)>
<!DOCTYPE lista SYSTEM Lista.dtd>
<!ELEMENT email (#PCDATA)>
<lista>
<!ELEMENT relacion EMPTY>
<persona sexo=hombre id=Topacio>
<!ATTLIST relacion amigo-de IDREFS #IMPLIED
<nombre>Topacio Jade</nombre>
enemigo-de IDREFS #IMPLIED>
<email>topacio.jade@mail.com</email>
<relacion amigo-de=esmeralda>
</persona>
<persona sexo=mujer id=esmeralda>
<nombre>Esmeralda Turquesa</nombre>
<email>eturquesa@gmail.com</email>
</persona>
</lista>