Estructura de un Documento XML

Anuncio
2 Estructura de un
Documento XML
Introducción (I)
!
!
Un documento XML contiene texto,
nunca datos binarios.
Documento XML <> Fichero XML
!
© 2001 Borja Sotomayor
Un documento XML puede estar en un
registro de una base de datos, puede ser el
resultado de un programa (que es enviado
a otro programa), etc. sin llegar a ser
almacenado en un fichero.
1
Introducción (II)
!
Un documento XML está compuesto de:
!
!
!
!
!
!
!
Elementos (“etiquetas”)
Texto (cadena de caracteres)
Referencias a Entidades
Secciones CDATA
Comentarios
Instrucciones de Procesamiento
La declaración XML
Elementos (I)
!
Elemento <> Etiqueta
!
!
!
© 2001 Borja Sotomayor
Un elemento es todo aquello que va
delimitado por una etiqueta de comienzo
(<tag>) y una etiqueta de fin (</tag>).
Todo lo que está entre esas dos etiquetas
se llama el contenido del elemento.
Una etiqueta empty también es un
elemento " un elemento sin contenido.
2
Elementos (II)
!
El contenido de un elemento puede ser:
!
Texto:
<autor>Isaac Asimov</autor>
!
Elementos:
<libreria>
<libro titulo=“La Fundación” />
<libro titulo=“El Juego de Ender” />
</libreria>
!
Contenido mixto (texto + elementos):
<body>
Texto en <i>cursiva</i>. Texto en
<b>negrita</b>. Y, para terminar, un salto
de línea. <br/>
</body>
Elementos (III)
!
Cuando un elemento H está contenido
en un elemento P se dice que:
!
!
!
!
© 2001 Borja Sotomayor
H es un elemento hijo de P.
P es el elemento padre de H.
En XML todo elemento tiene uno y sólo
un padre.
El elemento raíz es el único que no
tiene padre. Todo documento XML debe
tener uno y solo un elemento raíz.
3
Elementos (IV)
!
Un elemento debe tener un nombre XML:
!
!
Pueden contener cualquier carácter alfanumérico.
Pueden contener los caracteres
!
!
!
!
!
_ (subrayado, subguión)
- (guión)
. (punto)
Únicamente puede comenzar por caracteres
alfabéticos o por el carácter de subrayado.
No puede contener ‘espacio blanco’ (carácter de
espaciado, saltos de línea, tabulaciones)
Elementos (V)
libreria " BIEN
3dimension " MAL
fecha-nacimiento " BIEN
_3d " BIEN
Fecha nacimiento " MAL
Año " BIEN
!
© 2001 Borja Sotomayor
También deben tener nombres XML los
atributos de los elementos.
4
Referencias a Entidades (I)
!
En el texto contenido en un elemento
no pueden aparecer estos dos
caracteres:
!
!
!
< (menor que)
& (ampersand)
No deberían aparecer los siguientes:
!
!
!
> (mayor que)
“ (comilla doble)
‘ (comilla simple)
Referencias a Entidades (II)
!
¿Por qué?
<texto>
La inecuación resultante es
x < y2 + 7
</texto>
!
© 2001 Borja Sotomayor
¡Parece que estamos empezando una
nueva etiqueta!
5
Referencias a Entidades (III)
!
Solución: Utilizar referencias a
entidades.
<texto>
La inecuación resultante es
x < y2 + 7
</texto>
!
El parseador XML substituye la
referencia automáticamente por el
carácter referenciado.
Referencias a Entidades (IV)
!
!
Las entidades van delimitadas por &
(ampersand) y ; (punto y coma).
En XML se encuentran predefinidas las
siguientes referencias a entidades:
!
!
!
!
!
© 2001 Borja Sotomayor
< " Less Than (menor que)
& " Ampersand
> " Greater than (mayor que)
" " Quotation Mark (comilla doble)
' " Apostrophe (comilla simple)
6
Referencias a Entidades (V)
!
!
!
< " Obligatoria. Para no confundir el
comienzo de una etiqueta.
& " Obligatoria. Para no confundir el
comienzo de una referencia a entidad.
&qt; ' " Obligatoria en el valor de un
atributo. Para no confundir el final del valor.
<img src=“cena.jpg” alt=“Fue una “cena” interesante” />
<img src=“cena.jpg” alt=“Fue una "cena"
interesante” />
Referencias a Entidades (VI)
!
!
© 2001 Borja Sotomayor
> " Opcional.
Podemos definir nuestras propias
entidades en el DTD.
7
Secciones CDATA (I)
!
¿Y si tenemos lo siguiente?
<texto>
Un documento HTML básico:
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
Esto es el texto.
</body>
</html>
</texto>
Secciones CDATA (II)
!
Habría que convertirlo a lo siguiente:
<texto>
Un documento HTML básico:
<html>
<head>
<title> Ejemplo </title>
</head>
<body>
Esto es el texto.
</body>
</html>
</texto>
© 2001 Borja Sotomayor
8
Secciones CDATA (III)
!
Podemos evitar esto con las secciones
CDATA:
<texto>
Un documento HTML básico:
<![CDATA[
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
Esto es el texto.
</body>
</html>
]]>
</texto>
Secciones CDATA (IV)
!
Una sección CDATA va delimitada por:
!
!
!
© 2001 Borja Sotomayor
<![CDATA[
]]>
Una sección CDATA no es parseada (un
< no comienza una etiqueta, ni un &
empieza una referencia a entidad).
9
Comentarios
!
Los comentarios en XML van
delimitados por
!
!
!
!
<!--->
No pueden aparecer dentro de
etiquetas.
No pueden anidarse.
Instrucciones de Proceso
!
!
!
Las instrucciones de proceso le proporcionan
información al parseador XML.
Van delimitadas por:
! <?
! ?>
Por ejemplo:
!
© 2001 Borja Sotomayor
<?xsl-stylesheet href=“estilo.css”?>
(le indica al parseador que hoja de estilo tiene que
utilizar)
10
Declaración XML (I)
!
!
!
La declaración XML es opcional.
Tiene tres atributos.
Parece una instrucción de proceso (aunque
no lo es)
<?xml version=“...” encoding=“...” standalone=“...”?>
!
Si aparece, tiene que ser la primera línea
del documento.
Declaración XML (II)
!
!
© 2001 Borja Sotomayor
version: Indica la versión del estándar
XML a la cual se ajusta el documento.
Actualmente, el único valor válido es
“1.0”
encoding: Indica el juego de caracteres
del documento. P.ej: “ISO-8859_1”
para caracteres de lenguajes europeos
(ö, ç, ...)
11
Declaración XML (III)
!
© 2001 Borja Sotomayor
standalone: Tiene dos posibles valores.
! no " Es necesario acceder al DTD del
documento para obtener ciertos datos
sobre éste (por ejemplo, los valores por
defecto de atributos).
! yes " El documento no depende del DTD.
! El valor por defecto es no.
12
Descargar