Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO...

47
Francisco Manuel SÁNCHEZ MORENO http://laurel.datsi.fi.upm.es/~fsanchez/ 1 1 /47 /47 Introducción a XML UPM-DATSI UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ MORENO

Transcript of Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO...

Page 1: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

11/47/47

Introducción a XML

UPM-DATSIUPM-DATSI

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

Page 2: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

22/47/47LicenciaLicencia

Copyright (c) 2001-2003 Francisco Manuel SÁNCHEZ MORENO Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

A copy of the GNU Free Documentation License can be found in: http://www.gnu.org/licenses/licenses.html#FDL

Page 3: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

33/47/47Introducción XML (1/6)Introducción XML (1/6)

¿Que es un lenguaje de marcas?¿Que es un lenguaje de marcas?

- Lenguaje que emplea marcas o elementos para - Lenguaje que emplea marcas o elementos para señalar las diferentes secciones de un documento señalar las diferentes secciones de un documento (marcas+texto).(marcas+texto).

- Sirve para intercambiar datos en un formato - Sirve para intercambiar datos en un formato determinado determinado

- Ejemplos- Ejemplos.html -> Navegadores. (Especificación pública).html -> Navegadores. (Especificación pública).tex-> LaTex (Especificación pública).tex-> LaTex (Especificación pública).doc -> Microsoft Word (Especificación privada).doc -> Microsoft Word (Especificación privada).xml-> bases de datos, navegadores, programas de .xml-> bases de datos, navegadores, programas de

usuario (especificación pública)usuario (especificación pública)

Page 4: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

44/47/47Introducción XML (2/6)Introducción XML (2/6)

¿Cómo se usa un lenguaje de marcas?¿Cómo se usa un lenguaje de marcas?

- Debe considerarse- Debe considerarse- La sintaxis del lenguaje de marcas y los caracteres - La sintaxis del lenguaje de marcas y los caracteres

de marcas que se emplean.de marcas que se emplean.

- Escribir el documentos: marcas+texto- Escribir el documentos: marcas+texto

- Interpretar el documento: bien en un visualizador o - Interpretar el documento: bien en un visualizador o por una aplicación que procese los datospor una aplicación que procese los datos

Page 5: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

55/47/47Introducción XML (3/6)Introducción XML (3/6)

¿Que es XML?¿Que es XML?- Extensible Markup Language- Extensible Markup Language

- Definiciones- Definiciones- Sirve para definir lenguaje de marcas.- Sirve para definir lenguaje de marcas.

- Es un lenguaje de representación de datos.- Es un lenguaje de representación de datos.

- No ha nacido sólo para internet- No ha nacido sólo para internet

- En XML- En XML- Sólo está definida la sintaxis.- Sólo está definida la sintaxis.

- El que quiera intercambiar datos en XML debe:- El que quiera intercambiar datos en XML debe:- Definir las marcas en .DTD - Definir las marcas en .DTD (Document Type (Document Type

Definition)Definition)

- Definir qué hacen las marcas en reglas de - Definir qué hacen las marcas en reglas de estilo .XSL estilo .XSL (Extensible Stylesheet Language) (Extensible Stylesheet Language) o .CSS o .CSS (Cascading Style Sheet)(Cascading Style Sheet)

- Escribir datos con las marcas en .XML - Escribir datos con las marcas en .XML (Extensible Mark-up Language)(Extensible Mark-up Language)

Page 6: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

66/47/47Introducción XML (4/6)Introducción XML (4/6)

HistoriaHistoria- SGML - SGML Estándar Generalized Mark-up LanguageEstándar Generalized Mark-up Language

- El padre HTML y XML- El padre HTML y XML

- Usa DTD para definir una estructura de el documento - Usa DTD para definir una estructura de el documento

- El DTD especifica las marcas que se van a usar.- El DTD especifica las marcas que se van a usar.

- Surgió en 1989 (más viejo que el web)- Surgió en 1989 (más viejo que el web)

- Especificación más de 600 páginas- Especificación más de 600 páginas

- HTML - HTML Hiper Text Mark-up LanguageHiper Text Mark-up Language- Era lo que la red necesitaba para compartir - Era lo que la red necesitaba para compartir

informacióninformación

- Darse a conocer investigadores y empresas- Darse a conocer investigadores y empresas

- Especificación 30 páginas- Especificación 30 páginas

- XML - XML - El HTML se ha quedado pequeño para e-comercio- El HTML se ha quedado pequeño para e-comercio

- Especificación 90 páginas- Especificación 90 páginas

Page 7: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

77/47/47Introducción XML (5/6 )Introducción XML (5/6 )

Metas de XMLMetas de XML- Debe poderse utilizar en internet- Debe poderse utilizar en internet- Debe poder soportar una gran cantidad de - Debe poder soportar una gran cantidad de

aplicacionesaplicaciones- Biztalk (intercambio de documentos y mensajes)- Biztalk (intercambio de documentos y mensajes)- SOAP (procedimientos remotos)- SOAP (procedimientos remotos)

- Debe ser compatible con SGML- Debe ser compatible con SGML- Debe ser sencillo escribir programas que procesen - Debe ser sencillo escribir programas que procesen

datosdatos- El número de características opcionales debe - El número de características opcionales debe

mantenerse al mínimo (idealmente a cero). Cuanto mantenerse al mínimo (idealmente a cero). Cuanto mas complejo sea un lenguaje menos se usará.mas complejo sea un lenguaje menos se usará.

- Los datos escritos en XML deben poderse leer por el - Los datos escritos en XML deben poderse leer por el hombrehombre

Page 8: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

88/47/47Introducción XML (6/6 )Introducción XML (6/6 )

Ventajas de XMLVentajas de XML

- Es internacional. Es internacional. - Emplea caracteres UNICODE Emplea caracteres UNICODE (www.unicode.org)(www.unicode.org)

- Puede ser estructurado usando DTD, Puede ser estructurado usando DTD, - Se puede validar la sintaxis y el contenido de los datos.Se puede validar la sintaxis y el contenido de los datos.- Se asegura el crear documentos estándar.Se asegura el crear documentos estándar.

- Se puede componer con otros documentos.Se puede componer con otros documentos.- Enlaces dinámicos (nunca se pierde el enlace)Enlaces dinámicos (nunca se pierde el enlace)

- Es flexible. Es flexible. - DTD por defecto.DTD por defecto.

- Es fácil de usar. Es fácil de usar. - Es sólo un poco más complicado que HTMLEs sólo un poco más complicado que HTML

Page 9: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

99/47/47XML: Ejemplo 1 (1/3)XML: Ejemplo 1 (1/3)

CANCION en HTML (cancion.html)CANCION en HTML (cancion.html)

<dt>Hot Cop<dd> by Jacques Morali, Henri Belolo, and Victor Willis<ul><li>Producer: Jacques Morali<li>Publisher: PolyGram Records<li>Length: 6:20<li>Written: 1978<li>Artist: Village People</ul>

Page 10: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1010/47/47XML: Ejemplo 1 (2/3)XML: Ejemplo 1 (2/3)

CANCION en XML (cancion.xml)CANCION en XML (cancion.xml)

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

<!-- File: cancion.xml -->

<SONG LENGTH="6:20"> <TITLE>Hot Cop</TITLE> <COMPOSER>Jacques Morali</COMPOSER> <COMPOSER>Henri Belolo</COMPOSER> <COMPOSER>Victor Willis</COMPOSER> <PRODUCER>Jacques Morali</PRODUCER> <PUBLISHER>PolyGram Records</PUBLISHER> <YEAR>1978</YEAR> <ARTIST>Village People</ARTIST></SONG>

Page 11: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1111/47/47

EJEMPLO 1: CANCION en XML (cancion.xml)EJEMPLO 1: CANCION en XML (cancion.xml)

XML: Ejemplo 1 (3/3)XML: Ejemplo 1 (3/3)

Page 12: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1212/47/47

EJEMPLO 2: Inventario en XML (inventario.xml) EJEMPLO 2: Inventario en XML (inventario.xml) Se estructura con jerarquía en árbolSe estructura con jerarquía en árbol

Dar nombres significativos a las entidadesDar nombres significativos a las entidades

INVENTORY

BOOK

TITLE AUTHOR BINDING PAGES PRICE

TITLE AUTHOR BINDING PAGES PRICE

TITLE AUTHOR BINDING PAGES PRICE

BOOK BOOK

XML: Ejemplo 2 (1/3)XML: Ejemplo 2 (1/3)

Page 13: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1313/47/47

<?xml version="1.0"?>

<!-- File Name: Inventory.xml -->

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK>

<BOOK> <TITLE>The Legend of Sleepy Hollow</TITLE> <AUTHOR>Washington Irving</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>98</PAGES> <PRICE>$2.95</PRICE> </BOOK> <BOOK> <TITLE>The Marble Faun</TITLE> <AUTHOR>Nathaniel Hawthorne</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>473</PAGES> <PRICE>$10.95</PRICE> </BOOK>......</INVENTORY>

EJEMPLO 2: Inventario en XML (inventario.xml)EJEMPLO 2: Inventario en XML (inventario.xml)

XML: Ejemplo 2 (2/3)XML: Ejemplo 2 (2/3)

Page 14: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1414/47/47

EJEMPLO 2: Inventario en XML (inventario.xml)EJEMPLO 2: Inventario en XML (inventario.xml)

Prologo

Documento

XML: Ejemplo 2 (3/3)XML: Ejemplo 2 (3/3)

Page 15: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1515/47/47Sintaxis XMLSintaxis XML

Sintaxis en XMLSintaxis en XML- Los documentos en XML deben estar bien - Los documentos en XML deben estar bien

formateadosformateados- Las reglas son:- Las reglas son:

- ¡¡SIEMPRE!! Abrir y cerrar las marcas.- ¡¡SIEMPRE!! Abrir y cerrar las marcas.- Las marcas sin datos pueden acabar en />Las marcas sin datos pueden acabar en />

- Hay un elemento raíz único.- Hay un elemento raíz único.- Los valores de los atributos van entre comillas.- Los valores de los atributos van entre comillas.- El símbolo ‘<‘ se utiliza sólo para comenzar marcas.- El símbolo ‘<‘ se utiliza sólo para comenzar marcas.

- Se necesita analizadores léxicos para revisar la - Se necesita analizadores léxicos para revisar la sintaxis (sintaxis (parsers)parsers)

<TITLE>Hot Cop</TITLE> <COMPOSER>Jacques Morali</COMPOSER> <COMPOSER/> <COMPOSER>Victor Willis</COMPOSER>

Page 16: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1616/47/47Parser XMLParser XML

Parser (analizador léxico)Parser (analizador léxico)<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?><SONG LENGTH="6:20"> <TITLE>Hot Cop</TITLE> <COMPOSER>Jacques Morali</Composer> <COMPOSER>Henri Belolo</COMPOSER> <COMPOSER>Victor Willis</COMPOSER> <PRODUCER>Jacques Morali</PRODUCER> <PUBLISHER>PolyGram Records</PUBLISHER> <YEAR>1978</YEAR> <ARTIST>Village People</ARTIST></SONG>

ERROR

Page 17: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1717/47/47Visualización XML (1/3)Visualización XML (1/3)

Enlazar con hojas de estilosEnlazar con hojas de estilos- Hoja de estilos-> fichero que contiene instrucciones de - Hoja de estilos-> fichero que contiene instrucciones de

cómo formatear el documento XMLcómo formatear el documento XML

- Pueden ser - Pueden ser - CSS (Cascading Style Sheet) (usadas también por - CSS (Cascading Style Sheet) (usadas también por

HTML)HTML)

- XSL (eXtensible Style Language (diseñada para - XSL (eXtensible Style Language (diseñada para XML)XML)

Enlazar datos (Data binding)Enlazar datos (Data binding)- Crear página HTML- Crear página HTML

- Enlazar el documento XML a ella- Enlazar el documento XML a ella

- Asociar elementos HTML a elementos XML- Asociar elementos HTML a elementos XML

Scripting Scripting - Igual que el anterior, pero asociando Java-scripts- Igual que el anterior, pero asociando Java-scripts

Page 18: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1818/47/47Visualización XML (2/3)Visualización XML (2/3)

Lenguajes de definición de estilosLenguajes de definición de estilos

- CSS1 = CSS1 = Cascading Style Sheets Level 1Cascading Style Sheets Level 1- http://www.w3.org/TR/REC-CSS1http://www.w3.org/TR/REC-CSS1

- CSS2 = CSS2 = Cascading Style Sheets Level 2Cascading Style Sheets Level 2- http://www.w3.org/TR/REC-CSS2/http://www.w3.org/TR/REC-CSS2/

- XSL = - XSL = Extensible Style LanguageExtensible Style Language- http://www.w3.org/TR/xsl/- http://www.w3.org/TR/xsl/

Page 19: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

1919/47/47Visualización XML (3/3)Visualización XML (3/3)

-XSLT (Extensible Style Language Transformation)-XSLT (Extensible Style Language Transformation)

http://www.w3.org/TR/xslthttp://www.w3.org/TR/xslt

- XSL se ha dividido en tres especificaciones diferentes.- XSL se ha dividido en tres especificaciones diferentes.- XSLT (Extensible Style Language Transformation)- XSLT (Extensible Style Language Transformation)

- Xpath- Xpath

- XSL- XSL

- XSLT. Es un lenguaje para transformar datos de XML - XSLT. Es un lenguaje para transformar datos de XML a un formato cualquiera, pero basado en texto (por a un formato cualquiera, pero basado en texto (por ejemplo a XHTML)ejemplo a XHTML)

Page 20: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2020/47/47Visualización XML con CSS (1/3)Visualización XML con CSS (1/3)

SintaxisSintaxis

- Formato fichero .css:Formato fichero .css:Etiqueta1 {regla de estilo1}Etiqueta1 {regla de estilo1}Etiqueta2 {regla de estilo2} Etiqueta2 {regla de estilo2} ........

- EjemploEjemplo- Se crea el fichero “libro.css” con:Se crea el fichero “libro.css” con:

LIBRO {font-size:20px}LIBRO {font-size:20px}

- En el fichero libro.xml deberá incluirse la cabecera:En el fichero libro.xml deberá incluirse la cabecera:<?xml-stylesheet type="text/css" <?xml-stylesheet type="text/css" href=”libro.css"?>href=”libro.css"?>

- Finalmente en libro.xml se escriben los datos:Finalmente en libro.xml se escriben los datos:<LIBRO> <LIBRO> <<Titulo> Programación de Aplicaciones web Titulo> Programación de Aplicaciones web </</Titulo> Titulo> <Autor> Santiago RODRIGUEZ et. al </Autor> <Autor> Santiago RODRIGUEZ et. al </Autor> <Editorial> Paraninfo </Editorial><Editorial> Paraninfo </Editorial><Lengua> Español </Lengua> <Lengua> Español </Lengua> <Pgs> 586 </Pgs> <Pgs> 586 </Pgs> <ISBN> 84-9732-181-2 </ISBN><ISBN> 84-9732-181-2 </ISBN>

</LIBRO></LIBRO>

Page 21: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2121/47/47Visualización XML con CSS (2/3)Visualización XML con CSS (2/3)

SintaxisSintaxis

- Formato fichero .css2:Formato fichero .css2:.EtiquetaClase1 {regla de estilo1}.EtiquetaClase1 {regla de estilo1}#EtiquetaId2 {regla de estilo2} #EtiquetaId2 {regla de estilo2} ........

- EjemploEjemplo- Se crea el fichero “libro.css” con:Se crea el fichero “libro.css” con:

.Clase1 {font-size:20px}.Clase1 {font-size:20px}#TipoID1 {font-size:25px}#TipoID1 {font-size:25px}

- En el fichero libro.xml deberá incluirse la cabecera:En el fichero libro.xml deberá incluirse la cabecera:<?xml-stylesheet type="text/css" href=”libro.css"?<?xml-stylesheet type="text/css" href=”libro.css"?>>

- Finalmente en libro.xml se escriben los datos:Finalmente en libro.xml se escriben los datos:<LIBRO class=“Clase1”> <LIBRO class=“Clase1”> <<Titulo> Programación de Aplicaciones web Titulo> Programación de Aplicaciones web </</Titulo> Titulo> <Autor> Santiago RODRIGUEZ et. al </Autor> <Autor> Santiago RODRIGUEZ et. al </Autor> <Editorial id=“TipooID1”> Paraninfo </Editorial><Editorial id=“TipooID1”> Paraninfo </Editorial><Lengua> Español </Lengua> <Lengua> Español </Lengua> <Pgs> 586 </Pgs> <Pgs> 586 </Pgs> <ISBN> 84-9732-181-2 </ISBN><ISBN> 84-9732-181-2 </ISBN>

</LIBRO></LIBRO>

Page 22: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2222/47/47Visualización XML con CSS (3/3)Visualización XML con CSS (3/3)

SintaxisSintaxis

- Etiqueta {regla:valor;...}Etiqueta {regla:valor;...}- Reglas típicas: http://www.w3.org/TR/REC-CSS2/descidx.htmlReglas típicas: http://www.w3.org/TR/REC-CSS2/descidx.html

- font-familyfont-familyEtiqueta{font-family:Arial, sans-serif, fantasy}Etiqueta{font-family:Arial, sans-serif, fantasy}

- font-sizefont-sizeEtiqueta{font-size:12pt; font-family:Arial}Etiqueta{font-size:12pt; font-family:Arial}

- background-colorbackground-colorEtiqueta{background-color:#FFFFFF}Etiqueta{background-color:#FFFFFF}Etiqueta{background-color: white}Etiqueta{background-color: white}Etiqueta{background-color: rgb(255,255,255)}Etiqueta{background-color: rgb(255,255,255)}

- floatfloatEtiqueta{float: right} Etiqueta{float: right}

Hace que una imagen se justifique a la derecha y el texto la rodee.Hace que una imagen se justifique a la derecha y el texto la rodee.

- margin-leftmargin-leftEtiqueta{margin-left:20pt}Etiqueta{margin-left:20pt}

- text-transformtext-transformEtiqueta{text-transform:capitalize}Etiqueta{text-transform:capitalize}

Page 23: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2323/47/47CSS: Ejemplo 1 (1/3)CSS: Ejemplo 1 (1/3)

Hoja de estilos (.CSS) (SONG.css)Hoja de estilos (.CSS) (SONG.css)SONG {display: block}TITLE {display: block; font-family: Helvetica, serif; font-size: 20pt; font-weight: bold}COMPOSER {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt; font-style: italic}ARTIST {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt; font-weight: bold; font-style: italic}PUBLISHER {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt}YEAR {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt}

Page 24: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2424/47/47 CSS: Ejemplo 1 (2/3) CSS: Ejemplo 1 (2/3)

Inclusión de hoja de estilosInclusión de hoja de estilos<?xml-stylesheet type="text/css" href=”song.css"?><?xml-stylesheet type="text/css" href=”song.css"?>

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?><?xml-stylesheet type="text/css" href="song.css"?><SONG LENGTH="6:20"> <TITLE>Hot Cop</TITLE> <COMPOSER>Jacques Morali</COMPOSER> <COMPOSER>Henri Belolo</COMPOSER> <COMPOSER>Victor Willis</COMPOSER> <PRODUCER>Jacques Morali</PRODUCER> <PUBLISHER>PolyGram Records</PUBLISHER> <YEAR>1978</YEAR> <ARTIST>Village People</ARTIST></SONG>

Page 25: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2525/47/47

SONG {display: block}TITLE {display: block; font-family: Helvetica, serif; font-size: 20pt; font-weight: bold}COMPOSER {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt; font-style: italic}

ARTIST {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt; font-weight: bold; font-style: italic}PUBLISHER {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt}YEAR {display: block; font-family: Times, Times New Roman, serif; font-size: 14pt}

CSS: Ejemplo 1 (3/3)CSS: Ejemplo 1 (3/3)

Page 26: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2626/47/47

/* File Name: Inventory01.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {font-style:italic}

AUTHOR {font-weight:bold}

Hoja de estilos (.CSS) (inventory.css)Hoja de estilos (.CSS) (inventory.css)

CSS: Ejemplo 2 (1/4)CSS: Ejemplo 2 (1/4)

Page 27: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2727/47/47

<?xml version="1.0"?>

<!-- File Name: Inventory01.xml -->

<?xml-stylesheet type="text/css" href="Inventory01.css"?>

<INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> ....</INVENTORY>

Inclusión de hoja de estilosInclusión de hoja de estilos<?xml-stylesheet type="text/css" href=” <?xml-stylesheet type="text/css" href=” Inventory01.cssInventory01.css "?> "?>

CSS: Ejemplo 2 (2/4)CSS: Ejemplo 2 (2/4)

Page 28: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2828/47/47CSS: Ejemplo 2 (3/4)CSS: Ejemplo 2 (3/4)

Page 29: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

2929/47/47

/* File Name: Inventory02.css */

BOOK {display:block; margin-top:12pt; font-size:10pt}

TITLE {display:block; font-size:12pt; font-weight:bold; font-style:italic}

AUTHOR {display:block; margin-left:15pt; font-weight:bold}

BINDING {display:block; margin-left:15pt}

PAGES {display:none}

PRICE {display:block; margin-left:15pt}

Si ponemos otra hoja de estilosSi ponemos otra hoja de estilos<?xml-stylesheet type="text/css" href=” <?xml-stylesheet type="text/css" href=” Inventory02.cssInventory02.css"?>"?>

CSS: Ejemplo 2 (4/4)CSS: Ejemplo 2 (4/4)

Page 30: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3030/47/47

Dos pasos básicosDos pasos básicos1º- Crear la hoja de estilos XSL1º- Crear la hoja de estilos XSL

<?xml version="1.0"?>

<!-- File Name: XslDemo01.xsl -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <H2>Book Description</H2> <SPAN STYLE="font-style:italic">Author: </SPAN> <xsl:value-of select="BOOK/AUTHOR"/><BR/> <SPAN STYLE="font-style:italic">Title: </SPAN> <xsl:value-of select="BOOK/TITLE"/><BR/> <SPAN STYLE="font-style:italic">Price: </SPAN> <xsl:value-of select="BOOK/PRICE"/><BR/> <SPAN STYLE="font-style:italic">Binding type: </SPAN> <xsl:value-of select="BOOK/BINDING"/><BR/> <SPAN STYLE="font-style:italic">Number of pages: </SPAN> <xsl:value-of select="BOOK/PAGES"/> </xsl:template></xsl:stylesheet>

XSL: Ejemplo (1/5)XSL: Ejemplo (1/5)

Page 31: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3131/47/47

2º- Enlazar el documento XML con la hoja de estilos XSL2º- Enlazar el documento XML con la hoja de estilos XSL

<?xml version="1.0"?>

<!-- File Name: XslDemo01.xml -->

<?xml-stylesheet type="text/xsl" href="XslDemo01.xsl"?>

<BOOK> <TITLE>Moby-Dick</TITLE> <AUTHOR> <FIRSTNAME>Herman</FIRSTNAME> <LASTNAME>Melville</LASTNAME> </AUTHOR> <BINDING>hardcover</BINDING> <PAGES>724</PAGES> <PRICE>$9.95</PRICE></BOOK>

XSL: Ejemplo (2/5)XSL: Ejemplo (2/5)

Page 32: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3232/47/47XSL: Ejemplo (3/5)XSL: Ejemplo (3/5)

Page 33: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3333/47/47

<?xml version="1.0"?>

<!-- File Name: XslDemo06.xsl -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <H2>Books In Stock</H2> <TABLE BORDER="1" CELLPADDING="5"> <THEAD> <TH>Title</TH> <TH>Author</TH> <TH>Binding Type</TH> <TH>Number of Pages</TH> <TH>Price</TH> </THEAD> <xsl:for-each select="INVENTORY/BOOK[@InStock='yes']"> <TR ALIGN="CENTER"> <TD> <xsl:value-of select="TITLE"/> </TD> <TD> <xsl:value-of select="AUTHOR"/> <BR/> (born <xsl:value-of select="AUTHOR/@Born"/>) </TD>

<TD> <xsl:value-of select="BINDING"/> </TD> <TD> <xsl:value-of select="PAGES"/> </TD> <TD> <xsl:value-of select="PRICE"/> </TD> </TR> </xsl:for-each> </TABLE> </xsl:template></xsl:stylesheet>

1º- Crear la hoja de estilos XSL1º- Crear la hoja de estilos XSLXSL: Ejemplo (4/5)XSL: Ejemplo (4/5)

Page 34: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3434/47/47

2º- Enlazar el documento XML con la hoja de estilos XSL2º- Enlazar el documento XML con la hoja de estilos XSL<?xml version="1.0"?>

<!-- File Name: XslDemo06.xml -->

<?xml-stylesheet type="text/xsl" href="XslDemo06.xsl"?>

<INVENTORY> <BOOK InStock="yes"> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR Born="1835">Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK InStock="no"> <TITLE>Leaves of Grass</TITLE> <AUTHOR Born="1819">Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK>......</INVENTORY>

XSL: Ejemplo (5/5)XSL: Ejemplo (5/5)

Page 35: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3535/47/47DTD: Document Type DefinitionDTD: Document Type Definition

Validación del documentoValidación del documento

- Para que sea válido el documento XML- Para que sea válido el documento XML- Debe estar bien formateado- Debe estar bien formateado

- Debe tener una definición de tipos de dato (.DTD)- Debe tener una definición de tipos de dato (.DTD)

- Debe cumplir las especificaciones definidas en el - Debe cumplir las especificaciones definidas en el (.DTD)(.DTD)

- Se definen las marcas y su posible aparición- Se definen las marcas y su posible aparición? -> La marca puede aparecer una o ninguna vez.? -> La marca puede aparecer una o ninguna vez.

+ -> La marca debe aparecer al menos una vez.+ -> La marca debe aparecer al menos una vez.

* -> El elemento puede aparecer cualquier número * -> El elemento puede aparecer cualquier número de veces.de veces.

Page 36: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3636/47/47DTD: Ejemplo (1/2)DTD: Ejemplo (1/2)

EJEMPLO: Definicion de datos, (cancion.dtd)EJEMPLO: Definicion de datos, (cancion.dtd)

<!ELEMENT SONG (TITLE, COMPOSER+, PRODUCER*, PUBLISHER*, LENGTH?, YEAR?, ARTIST+)>

<!ELEMENT TITLE (#PCDATA)>

<!ELEMENT COMPOSER (#PCDATA)><!ELEMENT PRODUCER (#PCDATA)><!ELEMENT PUBLISHER (#PCDATA)><!-- This should be a four digit year like "1999", not a two-digit year like "99" --><!ELEMENT YEAR (#PCDATA)>

<!ELEMENT ARTIST (#PCDATA)>

<!ATTLIST SONG LENGTH CDATA #IMPLIED>

Page 37: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3737/47/47

EJEMPLO: Utilización de cancion.dtdEJEMPLO: Utilización de cancion.dtd

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?><!DOCTYPE SONG SYSTEM "song.dtd"><SONG LENGTH="6:20"> <TITLE>Hot Cop</TITLE> <COMPOSER>Jacques Morali</COMPOSER> <COMPOSER>Henri Belolo</COMPOSER> <COMPOSER>Victor Willis</COMPOSER> <PRODUCER>Jacques Morali</PRODUCER> <PUBLISHER>PolyGram Records</PUBLISHER> <YEAR>1978</YEAR> <ARTIST>Village People</ARTIST></SONG>

DTD: Ejemplo (2/2)DTD: Ejemplo (2/2)

Page 38: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3838/47/47

By Michael J.Young

Editorial Microsoft

BibliografíaBibliografía

Page 39: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

3939/47/47BibliografíaBibliografía

Page 40: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4040/47/47EnlacesEnlaces

http://www.ibiblio.org/xml/http://www.ibiblio.org/xml/

http://www.wdvl.com/Authoring/Languages/XML/http://www.wdvl.com/Authoring/Languages/XML/XHTML/exs.htmlXHTML/exs.html

http://html.about.com/compute/html/index.htm?http://html.about.com/compute/html/index.htm?rnk=c1&terms=xmlrnk=c1&terms=xml

http://www.w3.org/http://www.w3.org/

http://www.w3.org/TR/REC-xml (Expecificación XML)http://www.w3.org/TR/REC-xml (Expecificación XML)

http://www.whatis.com (siglas)http://www.whatis.com (siglas)

Page 41: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4141/47/47SOAPSOAP

¿qué es SOAP?¿qué es SOAP?- Es un protocolo de comunicaciones Es un protocolo de comunicaciones

- basado en arquitectura cliente-servidorbasado en arquitectura cliente-servidor- Petición y respuesta usan XMLPetición y respuesta usan XML- Utiliza el puerto 80Utiliza el puerto 80

--

Page 42: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4242/47/47Ejemplo 1: BabelFishEjemplo 1: BabelFishhttp://gayuba2.datsi.fi.upm.es/~fsanchez/translation.phphttp://gayuba2.datsi.fi.upm.es/~fsanchez/translation.php

Page 43: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4343/47/47

Page 44: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4444/47/47http://gayuba2.datsi.fi.upm.es/~fsanchez/translation.php

Page 45: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4545/47/47

http://gayuba2.datsi.fi.upm.es/~fsanchez/google.phphttp://gayuba2.datsi.fi.upm.es/~fsanchez/google.php

Page 46: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4646/47/47

Page 47: Http://laurel.datsi.fi.upm.es/~fsanchez/ 1/47 © 2001-2003 Francisco Manuel SÁNCHEZ MORENO Introducción a XML UPM-DATSI © 2001-2003 Francisco Manuel SÁNCHEZ.

© 2001-2003 Francisco Manuel SÁNCHEZ MORENO

http://laurel.datsi.fi.upm.es/~fsanchez/

4747/47/47

¡PODEIS DESPERTAR!¡PODEIS DESPERTAR!¡PODEIS DESPERTAR!¡PODEIS DESPERTAR!