Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la...

89
Interfaces Interfaces XML XML Universidad del Valle de Universidad del Valle de Puebla Puebla Maestría en Administración de Tecnologías de la Maestría en Administración de Tecnologías de la Información Información Dr. David Dr. David Pinto Pinto

Transcript of Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la...

Page 1: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Interfaces XMLInterfaces XML

Universidad del Valle de Universidad del Valle de PueblaPuebla

Maestría en Administración de Tecnologías de la InformaciónMaestría en Administración de Tecnologías de la Información

Dr. David PintoDr. David Pinto

Page 2: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Agenda del día de hoyAgenda del día de hoy

Presentación de los participantes.Presentación de los participantes. Análisis de expectativas.Análisis de expectativas. Presentación del programa.Presentación del programa. Plenario de acuerdos.Plenario de acuerdos. Elaboración de un directorio electrónico.Elaboración de un directorio electrónico.

Exposición teórica del profesor: Introducción a XML Exposición teórica del profesor: Introducción a XML (conceptos básicos y análisis de documentos).(conceptos básicos y análisis de documentos).

Exposición práctica del profesor: Ejemplos Exposición práctica del profesor: Ejemplos prácticos sobre la aplicación de XML en diversas prácticos sobre la aplicación de XML en diversas áreas.áreas.

TAREA: Elaborar un catalogo de productos usando TAREA: Elaborar un catalogo de productos usando la estructura básica de XML.la estructura básica de XML.

Page 3: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

PresentaciónPresentación

David Eduardo Pinto AvendañoDavid Eduardo Pinto Avendaño ((David PintoDavid Pinto))

Doctorado en Reconocimiento de Formas e Doctorado en Reconocimiento de Formas e Inteligencia Artificial (Universidad Politécnica de Inteligencia Artificial (Universidad Politécnica de Valencia, España)Valencia, España)

Maestría y Licenciatura en Ciencias de la Maestría y Licenciatura en Ciencias de la Computación (Facultad de Ciencias de la Computación (Facultad de Ciencias de la Computación, BUAP, México)Computación, BUAP, México)

Página Web: Página Web: httphttp://dpinto.cs.buap.mx://dpinto.cs.buap.mx

Contacto: Contacto: [email protected]@cs.buap.mx

Page 4: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Contenido del cursoContenido del curso

OBJETIVO GENERAL:OBJETIVO GENERAL:

Desarrollar interfaces basadas en Desarrollar interfaces basadas en XML y Java operando sistemas XML y Java operando sistemas de información sobre la Web.de información sobre la Web.

Page 5: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Método de trabajoMétodo de trabajo

El docente expondrá los aspectos teóricos sobre El docente expondrá los aspectos teóricos sobre interfaces XML mediante el uso de técnicas de interfaces XML mediante el uso de técnicas de exposición y conferencia. exposición y conferencia.

El docente expondrá de una manera práctica y a través El docente expondrá de una manera práctica y a través de ejemplos el uso de interfaces XML.de ejemplos el uso de interfaces XML.

El docente asignará lecturas en casa y aula, utilizando El docente asignará lecturas en casa y aula, utilizando dinámicas para la lectura guiada y lectura comentada.dinámicas para la lectura guiada y lectura comentada.

El alumno deberá desarrollar un trabajo de El alumno deberá desarrollar un trabajo de investigación documental y expresar dicho trabajo a investigación documental y expresar dicho trabajo a través de la tecnología XML. El proyecto deberá tener través de la tecnología XML. El proyecto deberá tener relevancia y ser significativo para el desarrollo de relevancia y ser significativo para el desarrollo de trabajo de tesis del estudiante.trabajo de tesis del estudiante.

Page 6: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Presentación del Presentación del ProgramaPrograma

Interfaces XMLInterfaces XML

Page 7: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Conceptos básicosConceptos básicos

Fundamentos.Fundamentos. Orígenes de XMLOrígenes de XML Metas de XMLMetas de XML Creación de documentosCreación de documentos Despliegue de documentos XMLDespliegue de documentos XML Verificación del formato XMLVerificación del formato XML

Elementos de XMLElementos de XML AtributosAtributos NamespacesNamespaces EntidadesEntidades Otras marcasOtras marcas

Aplicaciones.Aplicaciones.

XML y Java.XML y Java.

XML y otros lenguajes.XML y otros lenguajes.

Page 8: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Análisis de documentosAnálisis de documentos

Procesadores de XML.Procesadores de XML. XML NotepadXML Notepad

Lectura de un documento en XML.Lectura de un documento en XML.

Sintaxis básica XML.Sintaxis básica XML.

Programación de interfaces.Programación de interfaces.

Ejercicios prácticosEjercicios prácticos

Page 9: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Gestión de documentos y Gestión de documentos y metacontenidosmetacontenidos Hojas de estilo CSSHojas de estilo CSS

Hojas de estilo XSLTHojas de estilo XSLT

ServletsServlets

DocManDocMan

Vista, lista y búsqueda de documentos.Vista, lista y búsqueda de documentos.

Creación de metacontenidos.Creación de metacontenidos.

Page 10: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

JSP y XMLJSP y XML

Introducción a JSPIntroducción a JSP

JSP con XMLJSP con XML Generación de archivos XML desde JSPGeneración de archivos XML desde JSP Convertir XML a Objetos del Lado del ServidorConvertir XML a Objetos del Lado del Servidor API Simple para XML (SAX)API Simple para XML (SAX) Document Object Model (DOM)Document Object Model (DOM) Transformación entre diferentes lenguajes XMLTransformación entre diferentes lenguajes XML

Etiquetas JSP personalizadasEtiquetas JSP personalizadas Introducción a J2EEIntroducción a J2EE Etiquetas Personalizadas y J2EEEtiquetas Personalizadas y J2EE Enterprise Java Beans (EJBs)Enterprise Java Beans (EJBs) Describir y Referenciar Servicios J2EEDescribir y Referenciar Servicios J2EE

Aplicación Web con una base de datos.Aplicación Web con una base de datos.

EjerciciosEjercicios

Page 11: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Bases de datos y XMLBases de datos y XML

Java y bases de datosJava y bases de datos

JDBCJDBC

SQL incrustado en XML: SQLXSQL incrustado en XML: SQLX

Aplicación Web con una base de Aplicación Web con una base de datosdatos

Page 12: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Plenario de AcuerdosPlenario de Acuerdos

Interfaces XMLInterfaces XML

Page 13: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Normas y procedimientos de Normas y procedimientos de evaluaciónevaluación

PrácticasPrácticas 40%40%

Proyecto Proyecto 60%60%

--------- ---------

TOTAL: TOTAL: 100%100%

Page 14: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Sesión 1:Sesión 1:

Conceptos básicos de XMLConceptos básicos de XML

Universidad del Valle de Universidad del Valle de PueblaPuebla

Maestría en Administración de Tecnologías de la InformaciónMaestría en Administración de Tecnologías de la Información

Dr. David PintoDr. David Pinto

Page 15: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Conceptos básicosConceptos básicos

XML: Extensible Mark-up Language (lenguaje de XML: Extensible Mark-up Language (lenguaje de marcado extensible)marcado extensible)

Es un lenguaje orientado a:Es un lenguaje orientado a: La definición de datos de carácter general. Nos La definición de datos de carácter general. Nos

permite permite definir modelos de datosdefinir modelos de datos. . Al compartir modelos de datos se facilita el Al compartir modelos de datos se facilita el intercambiointercambio

de datos entre sistemas (aplicaciones) heterogéneos.de datos entre sistemas (aplicaciones) heterogéneos. Crear Crear nuevos lenguajesnuevos lenguajes graciasgracias a sus mecanismos a sus mecanismos

de extensibilidad. Por ello, se dice que XML es un de extensibilidad. Por ello, se dice que XML es un metalenguaje (un lenguaje para crear nuevos metalenguaje (un lenguaje para crear nuevos lenguajes).lenguajes).

Se refiere únicamente a los datos, no a su Se refiere únicamente a los datos, no a su presentación. Deja a otras aplicaciones la tarea de presentación. Deja a otras aplicaciones la tarea de definir la estructura de visualización.definir la estructura de visualización.

Page 16: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Conceptos básicosConceptos básicos

XML XML es el formato y el modelo para es el formato y el modelo para intercambiar información entre intercambiar información entre componentes, aplicaciones, y empresas componentes, aplicaciones, y empresas a través de Internet a través de Internet

Microsoft, IBM, Firefox, etc., están Microsoft, IBM, Firefox, etc., están apostando fuertemente a esta tecnologíaapostando fuertemente a esta tecnología

XML XML es un estándar abierto a Internet es un estándar abierto a Internet (W3C)(W3C)

XML XML habilita una nueva generación de habilita una nueva generación de aplicaciones en Internetaplicaciones en Internet

Page 17: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Conceptos básicosConceptos básicos

XML

XML

Page 18: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué es XML?¿Qué es XML?

Texto que cumple ciertas reglasTexto que cumple ciertas reglas

Las reglas tienen puntos en Las reglas tienen puntos en común con HTMLcomún con HTML

Abierto a sistemas operativosAbierto a sistemas operativos

Page 19: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué es XML?¿Qué es XML?

XML es un sub-conjunto de SGML (Standard XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language)Generalized Mark-up Language)

Creado y soportado por el World Wide Web Consortium (www.w3c.org)

SGMLXML

HTML

Page 20: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué es XML?¿Qué es XML?

XML es un sub-conjunto de SGML (Standard XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language)Generalized Mark-up Language)

Creado y soportado por el World Wide Web Consortium (www.w3c.org)

Page 21: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué es XML?¿Qué es XML?

Más fácil que SGMLMás fácil que SGML

Más pequeñoMás pequeño

Pensado para ser utilizado en InternetPensado para ser utilizado en Internet

XML XML ees s un lenguaje utilizado paraun lenguaje utilizado para eestructurstructurarar y y describir datos de forma que puedan ser describir datos de forma que puedan ser entendidos o interpretados por diferentes entendidos o interpretados por diferentes aplicaaplicaccionioneess

Puede ser utilizado por cualquier lenguaje y/o Puede ser utilizado por cualquier lenguaje y/o sistema operativosistema operativo

Page 22: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué es XML?¿Qué es XML?

XML es un meta-lenguaje que nos permite definir XML es un meta-lenguaje que nos permite definir lenguajes de marcado, adecuados a usos determinadoslenguajes de marcado, adecuados a usos determinados

XML es un estándar de Internet, aprobado por la W3CXML es un estándar de Internet, aprobado por la W3C ( (http://www.w3.org/TR/REC-xml/http://www.w3.org/TR/REC-xml/))

Traducciones: Traducciones: httphttp://://www.w3www.w3..orgorg/2003/03//2003/03/TranslationsTranslations//OverviewLang.html#esOverviewLang.html#es

Los proveedores tratan de ajustarse a las Los proveedores tratan de ajustarse a las especificacionesespecificaciones

Microsoft (MSXML40.DLL) e IBM ofrecen un conjunto de Microsoft (MSXML40.DLL) e IBM ofrecen un conjunto de objetos para manejar XMLobjetos para manejar XML

Page 23: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué ¿Qué NONO es XML? es XML?

XML no es una versión mejorada de XML no es una versión mejorada de HTMLHTML

XML no es un lenguaje para hacer XML no es un lenguaje para hacer mejores páginas webmejores páginas web

XML no es difícilXML no es difícil

Page 24: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Dónde está la revolución?¿Dónde está la revolución? Para entender la revolución que plantea XML, hay Para entender la revolución que plantea XML, hay

que entender las tecnologías circundantesque entender las tecnologías circundantes XSLXSL XSLTXSLT DTDDTD SchemaSchema XPATHXPATH Etc.Etc.

Estas son las que realmente hacen la revolución Estas son las que realmente hacen la revolución (En especial XSLT, y DTD, y Schema)(En especial XSLT, y DTD, y Schema)

Page 25: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Algo de historia sobre XMLAlgo de historia sobre XML Desarrollo a partir de 1996, como un Desarrollo a partir de 1996, como un

sub-conjunto de SGMLsub-conjunto de SGML

Adoptado como estándar en Febrero Adoptado como estándar en Febrero de 1998, por el World Wide Web de 1998, por el World Wide Web Consortium (W3C)Consortium (W3C)

Page 26: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

World Wide Web Consortium (W3C)World Wide Web Consortium (W3C)

Constituido en 1994 con el objetivo de Constituido en 1994 con el objetivo de desarrollar protocoles comunes para la desarrollar protocoles comunes para la evolución de Internetevolución de Internet

Es un consorcio de industrias Es un consorcio de industrias internacionales, y está participado por MIT internacionales, y está participado por MIT (EEUU), INRA (Francia), y Keio University (EEUU), INRA (Francia), y Keio University (Japón)(Japón)

Cuenta con el apoyo de DARPA (EEUU), y Cuenta con el apoyo de DARPA (EEUU), y la comisión europea (IEEE)la comisión europea (IEEE)

Page 27: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué ventajas tiene XML?¿Qué ventajas tiene XML?

Un documento en XML, puede Un documento en XML, puede tener varias formas de tener varias formas de presentaciónpresentación

Page 28: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué ventajas tiene XML?¿Qué ventajas tiene XML?

Formato ideal para transacciones B2BFormato ideal para transacciones B2B

Permite poderosas técnicas de extracción Permite poderosas técnicas de extracción y búsqueda de información (XSL y XPATH)y búsqueda de información (XSL y XPATH)

Las estrictas reglas para la composición de Las estrictas reglas para la composición de un documento XML, permite su fácil un documento XML, permite su fácil análisis sintácticoanálisis sintáctico

A diferencia de HTML, XML es sensitivo a A diferencia de HTML, XML es sensitivo a mayúsculas y minúsculasmayúsculas y minúsculas

Page 29: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Lenguajes EspecíficosLenguajes Específicos

HTML — ejemploHTML — ejemplo

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL//EN">FINAL//EN">

<HTML><HTML> <HEAD><HEAD> <TITLE>Memo</TITLE><TITLE>Memo</TITLE> </HEAD></HEAD> <BODY><BODY> <FONT FACE="Times New Roman" SIZE="2"><FONT FACE="Times New Roman" SIZE="2"> <P><P> <B>To: </B> Camino<BR> <B>To: </B> Camino<BR> <B>From: </B> Juanma<BR><B>From: </B> Juanma<BR> <B>Cc: </B> Nacho<BR><B>Cc: </B> Nacho<BR> <B>Subject: </B> Capítulo 1<B>Subject: </B> Capítulo 1 </P></P> <P> Qué opinas del formato? </P><P> Qué opinas del formato? </P> </FONT></FONT> </BODY></BODY></HTML></HTML>

Page 30: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Visualización de HTMLVisualización de HTML

Page 31: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Ejemplo en XMLEjemplo en XML

XML — ejemploXML — ejemplo

<?xml version="1.0"?><?xml version="1.0"?><MEMO><MEMO> <TO>Juanma</TO><TO>Juanma</TO> <FROM>Camino</FROM><FROM>Camino</FROM> <CC>Nacho</CC><CC>Nacho</CC> <SUBJECT>Capitulo 2</SUBJECT><SUBJECT>Capitulo 2</SUBJECT> <BODY>Empezamos con algo de <BODY>Empezamos con algo de codigo XML</BODY>codigo XML</BODY>

</MEMO></MEMO>

Page 32: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Visualización de un archivo XMLVisualización de un archivo XML

Page 33: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Visualización de un archivo XMLVisualización de un archivo XML

Page 34: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Visualización de un archivo XMLVisualización de un archivo XML

Page 35: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

XML (ejemplo) Documento XML:

<libro> marca de comienzo

The XML Bible contenido

</libro> marca de fin

<autor nro=2332>

Elliotte Rusty Harold

</autor>

elemento atributo

Page 36: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

El elemento y sus atributosEl elemento y sus atributos

<autor pais=“Uruguay”>Mario Benedetti</autor><autor pais=“Uruguay”>Mario Benedetti</autor>

Nombre del elemento

Nombre del atributo

Valor del atributo

Contenido del elemento

Etiqueta de fin

Page 37: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Reglas y pautas XMLReglas y pautas XML

Se dice que un documento XML es Se dice que un documento XML es ‘bien formado’ (well formed), cuando ‘bien formado’ (well formed), cuando cumple una serie de reglas escritas cumple una serie de reglas escritas en XML v1.0en XML v1.0 Los elementos deben seguir una Los elementos deben seguir una

estructura de árbol (estrictamente estructura de árbol (estrictamente jerárquica)jerárquica)

Los elementos deben estar Los elementos deben estar correctamente anidadoscorrectamente anidados

Los elementos no se pueden Los elementos no se pueden superponer entre ellossuperponer entre ellos

Page 38: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Estructura de un documento XMLEstructura de un documento XML

EstructuraEstructura LógicaLógica = cómo se = cómo se

estructura el estructura el documentodocumento

FísicaFísica = qué contiene = qué contiene el documentoel documento

PrólogoPrólogo XML DeclarationXML Declaration Document Type Document Type

DeclarationDeclaration Document ElementDocument Element

Siempre el raízSiempre el raíz Anidamiento de Anidamiento de

elementos restanteselementos restantes

<?xml version="1.0"?><!DOCTYPE FloresSilvestres SYSTEM “flores.dtd">

Page 39: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

SintaxisSintaxis EtiquetasEtiquetas

Apertura/cierreApertura/cierre <TAG> Texto </TAG><TAG> Texto </TAG> Elemento vacíoElemento vacío <TAG></TAG> <TAG></TAG> <TAG/> <TAG/>

AtributosAtributos <TAG ATRIB=“valor”> <TAG ATRIB=“valor”> Texto </TAG>Texto </TAG>

EntidadesEntidades ParseadasParseadas <!ENTITY PL “poca <!ENTITY PL “poca

luz”> ...luz”> ...

<TERM>Esta planta <TERM>Esta planta necesita &PL;</TERM>necesita &PL;</TERM>

No parseadasNo parseadas <!ENTITY Img SYSTEM <!ENTITY Img SYSTEM “Img.gif” NDATA GIF>“Img.gif” NDATA GIF>

PredefinidasPredefinidas &lt; &lt; < <

&amp; &amp; & &

......

Page 40: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

RecomendacionesRecomendaciones Todo contenido estará Todo contenido estará etiquetadoetiquetado. Toda etiqueta debe estar . Toda etiqueta debe estar delimitada por delimitada por

los símbolos de menor y mayorlos símbolos de menor y mayor. Ejemplo: <libro>. Ejemplo: <libro>

Las etiquetas se cierran en el mismo orden en el que se abrieron. La etiqueta Las etiquetas se cierran en el mismo orden en el que se abrieron. La etiqueta de cierre tiene el mismo nombre que la de apertura y se inicia por la de cierre tiene el mismo nombre que la de apertura y se inicia por la barra ‘/’barra ‘/’..

Ejemplo: <libro> ... </libro>Ejemplo: <libro> ... </libro> Por comodidad se permiten etiquetas que sirvan tanto para la apertura como para el Por comodidad se permiten etiquetas que sirvan tanto para la apertura como para el

cierre. Estas etiquetas deben acabar con el símbolo de barra ‘/’.cierre. Estas etiquetas deben acabar con el símbolo de barra ‘/’.

Los nombres de etiquetas son Los nombres de etiquetas son sensibles a mayúsculas y minúsculassensibles a mayúsculas y minúsculas (a (a diferencia de HTML)diferencia de HTML)

La estructura de una etiqueta sigue la terna La estructura de una etiqueta sigue la terna objeto-atributo-valorobjeto-atributo-valor.. Notación larga:Notación larga:

<etiqueta><etiqueta><atributo1> valor </atributo1><atributo1> valor </atributo1>......

</etiqueta></etiqueta> Notación corta (las dobles comillas son obligatorias, a diferencia de HTML):Notación corta (las dobles comillas son obligatorias, a diferencia de HTML):

<etiqueta atributo1=“valor” ... > </etiqueta><etiqueta atributo1=“valor” ... > </etiqueta> Ejemplo:Ejemplo:

<libro><libro><autor>Miguel De Cervantes</autor><autor>Miguel De Cervantes</autor><titulo>El Quijote</titulo><titulo>El Quijote</titulo><precio>18</precio><precio>18</precio>

</libro></libro>

Page 41: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

RecomendacionesRecomendaciones La La estructura del documento es jerárquicaestructura del documento es jerárquica, en forma de , en forma de

árbolárbol, en la que siempre hay un primer , en la que siempre hay un primer elemento raízelemento raíz..

Todo documento XML Todo documento XML debe comenzar por una declaración debe comenzar por una declaración XMLXML con la siguiente estructura: con la siguiente estructura:

<?xml<?xmlversion=“Versión de XML”version=“Versión de XML”encoding=“Codificación”encoding=“Codificación”standalone=“Incluye_DTD”standalone=“Incluye_DTD”

?>?>

Donde cada atributo significa:Donde cada atributo significa: Versión de XML: número de versión que se utiliza.Versión de XML: número de versión que se utiliza. Codificación: formato de codificación, por ejemplo, UTF-8, UTF-16, Codificación: formato de codificación, por ejemplo, UTF-8, UTF-16,

ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1, ISO-8859-2, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1, ISO-8859-2, (hasta ISO-8859-9), etc. Las dos primeras son las más usadas.(hasta ISO-8859-9), etc. Las dos primeras son las más usadas.

Incluye_DTD: puede tomar el valor “yes” (la especificación DTD se Incluye_DTD: puede tomar el valor “yes” (la especificación DTD se encuentra en el propio documento) o “no” (la especificación es un encuentra en el propio documento) o “no” (la especificación es un archivo externo).archivo externo).

Ejemplo:Ejemplo:<?xml version=“1.0” encoding=“UTF-8” standalone=“yes” ?><?xml version=“1.0” encoding=“UTF-8” standalone=“yes” ?>

Page 42: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

<?xml version="1.0" encoding="UTF-8” standalone=“yes”?><!-- Ejemplo de Biblioteca   --> <biblioteca> <libro ISBN="0-596-00292-0"> <titulo>XML in a Nutshell, 2nd Edition</titulo> <autor> <nombre>Elliotte Rusty Harold, W. Scott Means</nombre> <email>[email protected]</email> <direccion>1005 Gravenstein Highway North, CA 3472 </direccion> </autor> <capitulo nombre="Introduccion"> XML Concepts <seccion> <nombre>Introducing XML</nombre> <contenido>bla bla bla bla...</contenido> </seccion> </capitulo> </libro></biblioteca>

XML (Ejemplo...)

Page 43: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué problemas tiene HTML?¿Qué problemas tiene HTML? Es un meta-lenguaje de definición de presentaciónEs un meta-lenguaje de definición de presentación

Contiene datos + presentaciónContiene datos + presentación

No es fácilmente procesable por ‘máquinas’No es fácilmente procesable por ‘máquinas’

No fuerza al la buena estructura de la página No fuerza al la buena estructura de la página (pueden dejarse por error etiquetas sin cerrar)(pueden dejarse por error etiquetas sin cerrar)

Su interpretación depende del software utilizadoSu interpretación depende del software utilizado

Está pensado para su utilización en páginas Web.Está pensado para su utilización en páginas Web.

Page 44: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

HTML versus XMLHTML versus XML

HTML se centra en HTML se centra en el despliegue, y es el despliegue, y es menos menos estructuradoestructurado

Las etiquetas y Las etiquetas y atributos son fijosatributos son fijos

Es posible olvidar Es posible olvidar el cierre de alguna el cierre de alguna etiquetaetiqueta

XML es sobre XML es sobre datos, y es datos, y es sumamente sumamente estructuradoestructurado

Las etiquetas y Las etiquetas y atributos son atributos son extensiblesextensibles

Se fuerza a tener Se fuerza a tener una estructura una estructura consistenteconsistente

Page 45: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

¿Qué ventajas tiene XML?¿Qué ventajas tiene XML?

Fácil de procesar/entender por Fácil de procesar/entender por software o por seres humanossoftware o por seres humanos

Pensado para ser utilizado en Pensado para ser utilizado en cualquier lenguaje o alfabetocualquier lenguaje o alfabeto

Separa radicalmente la Separa radicalmente la información o contenido, de información o contenido, de su presentación o formatosu presentación o formato

Page 46: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Construyendo Construyendo documentos XMLdocumentos XML

Page 47: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<libros><autor <libros><autor pais=“Uruguay”>Leo pais=“Uruguay”>Leo Masliah</libros></autor>Masliah</libros></autor>

<libros><autor <libros><autor pais=“Uruguay”>Leo pais=“Uruguay”>Leo Masliah</autor> </libros>Masliah</autor> </libros>

Page 48: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Reglas y pautas XMLReglas y pautas XML

Los documentos deben tener un Los documentos deben tener un nodo raíznodo raíz

Todas las etiquetas deben estar Todas las etiquetas deben estar debidamente cerradasdebidamente cerradas

Las etiquetas vacías (etiquetas sin Las etiquetas vacías (etiquetas sin contenido) deben tener una contenido) deben tener una sintaxis especialsintaxis especial

Page 49: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<libros><autor <libros><autor pais=“Uruguay”>Leo pais=“Uruguay”>Leo Masliah<Ranking=100></autor></liMasliah<Ranking=100></autor></libros>bros>

<libros><libros><autor pais=“Uruguay”>Leo <autor pais=“Uruguay”>Leo

Masliah <Ranking=100/></autor>Masliah <Ranking=100/></autor></libros></libros>

Page 50: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Reglas y pautas XMLReglas y pautas XML Un nombre de elemento, atributo, entidad, etc., Un nombre de elemento, atributo, entidad, etc.,

comienza por una letra, y continúa con letras, comienza por una letra, y continúa con letras, dígitos, guiones, rayas, punto, dos puntos.dígitos, guiones, rayas, punto, dos puntos.

No pueden utilizarse las palabras XML, xml,Xml, No pueden utilizarse las palabras XML, xml,Xml, etc., como caracteres iniciales del nombre de un etc., como caracteres iniciales del nombre de un atributo, entidad, etc.atributo, entidad, etc.

XML es sensitivo a mayúsculas y minúsculas (no XML es sensitivo a mayúsculas y minúsculas (no es lo mismo <Autor> que <autor>es lo mismo <Autor> que <autor>

El uso de espacios en blanco, y los saltos de El uso de espacios en blanco, y los saltos de línea, funcionan al igual que en HTML (sólo se línea, funcionan al igual que en HTML (sólo se toma en cuenta cuando aparece en el valor de un toma en cuenta cuando aparece en el valor de un atributo, o cuando se indica su grado de atributo, o cuando se indica su grado de significado)significado)

Page 51: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

SintaxisSintaxis

Las etiquetas se denominan ‘marcas’, y son las Las etiquetas se denominan ‘marcas’, y son las partes del documento que el ‘analizador partes del documento que el ‘analizador sintáctico’ (parser) espera comprendersintáctico’ (parser) espera comprender

Las marcas en un documento XML comienzan Las marcas en un documento XML comienzan con el carácter < y finalizan con >con el carácter < y finalizan con >

En el caso de referencias de entidad, el carácter En el caso de referencias de entidad, el carácter inicial es & y el final es ;inicial es & y el final es ;

La primer línea debe especificar la versión de La primer línea debe especificar la versión de XML (de momento sólo 1.0), la codificación de XML (de momento sólo 1.0), la codificación de caracteres (US-ASCII, UTF-8, ISO-8859-1,etc),y caracteres (US-ASCII, UTF-8, ISO-8859-1,etc),y va entre caracteres de <? ?> en vez de < .. >va entre caracteres de <? ?> en vez de < .. >

Page 52: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<?xml version=“1.0” <?xml version=“1.0” encoding=“UTF-8”?>encoding=“UTF-8”?>

Page 53: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

SintaxisSintaxis

La segunda línea define el DTD La segunda línea define el DTD (se verá mas adelante), y es (se verá mas adelante), y es opcionalopcional

<!DOCTYPE mensaje SYSTEM <!DOCTYPE mensaje SYSTEM “mensaje.dtd”>“mensaje.dtd”>

Page 54: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Los Elementos en XMLLos Elementos en XML

Los elementos en XML pueden:Los elementos en XML pueden: Tener contenido (Texto, Valores, Tener contenido (Texto, Valores,

etc.)etc.) Contener otras etiquetas o Contener otras etiquetas o

atributosatributos Contener otras etiquetas, Contener otras etiquetas,

atributos, y contenido a la vezatributos, y contenido a la vez

Pueden estar vacíosPueden estar vacíos

Page 55: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<nombre>James Britt</nombre><nombre>James Britt</nombre>

<nombres><nombres><nombre>James</nombre><nombre>James</nombre><apellido>Britt</apellido><apellido>Britt</apellido>

</nombres></nombres>

<persona edad=30><nombre>James <persona edad=30><nombre>James Britt</nombre></persona>Britt</nombre></persona>

<Sexo=“Masculino”/><Sexo=“Masculino”/>

Page 56: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Los Atributos en XMLLos Atributos en XML

Los elementos pueden incorporar Los elementos pueden incorporar atributos, que son características o atributos, que son características o propiedades particularespropiedades particulares

Los atributos siempre deben estar Los atributos siempre deben estar marcados con comillas simples o marcados con comillas simples o dobles, y se sitúa como un valor dobles, y se sitúa como un valor adicional a una etiqueta.adicional a una etiqueta.

Page 57: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<libros><libros><titulo>El amor es la compensación <titulo>El amor es la compensación

de la de la muerte; su correlativo muerte; su correlativo esencial esencial </titulo></titulo>

<autor>Arthur <autor>Arthur Schopenhauer</autor>Schopenhauer</autor>

<precio moneda=“$”>200 <precio moneda=“$”>200 pesos</precio>pesos</precio></libros></libros>

Atributo

Page 58: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

<?xml version=“1.0”?><?xml version=“1.0”?><!-- Aca va el tipo de documento --><!-- Aca va el tipo de documento --><!DOCTYPE ejemplo [<!DOCTYPE ejemplo [<!-- Esto es otro comentario --><!-- Esto es otro comentario --><!element Ejemplo (#PCDATA)><!element Ejemplo (#PCDATA)>......

Page 59: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Las entidades en XMLLas entidades en XML

En XML v1.0 existen 5 entidades En XML v1.0 existen 5 entidades predefinidas, para representar predefinidas, para representar caracteres especiales, y que no se caracteres especiales, y que no se interpretan como marcas para el interpretan como marcas para el procesador XML. De esta forma procesador XML. De esta forma podemos utilizar por ejemplo el podemos utilizar por ejemplo el carácter < , > , & , ‘ , “carácter < , > , & , ‘ , “

Page 60: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Las entidades en XMLLas entidades en XML

Entidad Carácter

&amp; &

&lt; <

&gt; >

&apos; ‘

&quot; “

Page 61: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Las secciones CDATALas secciones CDATA

Otra forma de ingresar un Otra forma de ingresar un bloque de caracteres sin que el bloque de caracteres sin que el procesador XML los interprete, procesador XML los interprete, es utilizando los bloques es utilizando los bloques CDATA (Character Data)CDATA (Character Data)

Ingresar etiquetas HTML dentro Ingresar etiquetas HTML dentro de un documento XML (se verá de un documento XML (se verá su utilidad mas adelante)su utilidad mas adelante)

Page 62: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

Sin una sección CDATASin una sección CDATA

<ejemplo>&lt;HTML&gt;&lt;BODY&gt;Hola, esto es un documento html dentro de

uno XML&lt;/BODY&gt; &lt;/HTML&gt;

</ejemplo>

Page 63: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

EjemploEjemplo

Con una sección CDATACon una sección CDATA

<ejemplo><![CDATA[

<HTML>;<BODY>Hola, esto es un documento html dentro

de uno XML</BODY> </HTML>

]]></ejemplo>

Page 64: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Utilizando comentarios en XMLUtilizando comentarios en XML

En general, es necesaria la utilización de En general, es necesaria la utilización de comentarios en un documento XMLcomentarios en un documento XML

Estos deben ser ignorados por el Estos deben ser ignorados por el procesador sintáctico, y las reproducciones procesador sintáctico, y las reproducciones del documento. del documento.

Igual sintaxis que en HTML (<!-- y -->)Igual sintaxis que en HTML (<!-- y -->)

Nunca puede ir dentro de una etiqueta, etc.Nunca puede ir dentro de una etiqueta, etc.

Page 65: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Aplicaciones de XMLAplicaciones de XML Formato de intercambio de datosFormato de intercambio de datos

Sistemas heredadosSistemas heredados Integración de sistemas heterogéneosIntegración de sistemas heterogéneos

Publicación de datosPublicación de datos En diversos formatos (HTML, WML, PDF, etc.) a través de En diversos formatos (HTML, WML, PDF, etc.) a través de

transformaciones XSLTtransformaciones XSLT

Repositorios de datosRepositorios de datos Bases de datos nativas XMLBases de datos nativas XML Lenguajes de consulta y actualización: XQuery, XQL, XUpdate, Lenguajes de consulta y actualización: XQuery, XQL, XUpdate,

etc.etc.

Ficheros de configuración y logFicheros de configuración y log Aplicaciones, servidores Web, motores de Servlets, Aplicaciones, servidores Web, motores de Servlets,

descripción de componentes EJB, etc.descripción de componentes EJB, etc. Sistema operativoSistema operativo

Etc.Etc.

Page 66: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Almacenamiento de datos TradicionalAlmacenamiento de datos Tradicional

Bases de DatosBases de Datos Tiempo y costo para crear y mantenerTiempo y costo para crear y mantener

Archivos PlanosArchivos Planos El formato no es estandarizadoEl formato no es estandarizado Se deben escribir sus propios Se deben escribir sus propios

programas de validación de entrada y programas de validación de entrada y salidasalida

Page 67: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Almacenamiento de Datos XMLAlmacenamiento de Datos XML

La búsqueda de datos es relativamente La búsqueda de datos es relativamente fácilfácil

El formato es StandardEl formato es Standard

Las herramientas Standard para validación Las herramientas Standard para validación de entrada/salida ya existende entrada/salida ya existen

La facilidad de lectura de los archivos La facilidad de lectura de los archivos planos hacen mas fácil el controlplanos hacen mas fácil el control

Page 68: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Intercambio de Datos TradicionalIntercambio de Datos Tradicional

Delineación de valoresDelineación de valores Datos difíciles de leer/identificarDatos difíciles de leer/identificar Las relaciones entre los datos son Las relaciones entre los datos son

difíciles de documentardifíciles de documentar

Campos FijosCampos Fijos Limitados a cierta extensión de campoLimitados a cierta extensión de campo

Page 69: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Intercambio de Datos en XMLIntercambio de Datos en XML

Los datos son relativamente simples de Los datos son relativamente simples de leer y editar con un simple editor de textoleer y editar con un simple editor de texto

Relaciones complejas (árboles, herencia) Relaciones complejas (árboles, herencia) pueden ser comunicadaspueden ser comunicadas

Tags son auto-descriptivas, leídas por Tags son auto-descriptivas, leídas por humanoshumanos

Validación de datos automáticaValidación de datos automática

Page 70: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Despliegue Tradicional de DocumentosDespliegue Tradicional de Documentos

HTMLHTML Contenido e interfase gráfica mezcladosContenido e interfase gráfica mezclados

Buscar información en los datos es Buscar información en los datos es pesadopesado

Los contenidos están ‘atados’ a la lógica Los contenidos están ‘atados’ a la lógica y lenguaje HTMLy lenguaje HTML

Los Tags son genéricos por naturalezaLos Tags son genéricos por naturaleza

Page 71: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Despliegue de Documentos XMLDespliegue de Documentos XML

Significado de los tags es manejado por Significado de los tags es manejado por XSLXSL

Instrucciones para transformar un tipo de Instrucciones para transformar un tipo de documento en otrodocumento en otro

Transformación común XML -> HTMLTransformación común XML -> HTML

Un archivo XML puede ser enlazado a Un archivo XML puede ser enlazado a varios archivos XSLvarios archivos XSL

El contenido de un archivo puede ser El contenido de un archivo puede ser ‘renderizado’‘renderizado’para Web, impresion, celulares, etc. para Web, impresion, celulares, etc.

Separación de la presentación y el Separación de la presentación y el contenido contenido

Page 72: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Aplicaciones que procesan XMLAplicaciones que procesan XML

Verifican que documentos XML cumplan Verifican que documentos XML cumplan con los Standard para ser “bien formados”con los Standard para ser “bien formados”

Validan en base a las definiciones Validan en base a las definiciones especificadas en un DTDespecificadas en un DTD

Transforman los datos basadas en Transforman los datos basadas en instrucciones XSL (instrucciones XSL (Extensible Stylesheet Extensible Stylesheet LanguageLanguage))

Page 73: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Cuando utilizar XMLCuando utilizar XML

Almacenar y buscar pequeñasAlmacenar y buscar pequeñas cantidades de datos cantidades de datos

Intercambio de datos entre Intercambio de datos entre diferentes aplicaciones u diferentes aplicaciones u organizacionesorganizaciones

Separar contenidos de Separar contenidos de presentaciónpresentación

Page 74: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

HerramientasHerramientas

Existen para varios lenguajesExisten para varios lenguajes Java, ASP, PHPJava, ASP, PHP

CocoonCocoon Aplicación para proceso de XMLAplicación para proceso de XML

Page 75: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Sopa de LetrasSopa de Letras

XML

XLL

XSL

XSLT

SAX

XPointer

XPath

DTDDOM

SGMLXRef

Schema

SOAPParser

XML-Data

XDR

XQL

Page 76: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Algunas definicionesAlgunas definiciones

XMLXML -- eXtended Mark-up LanguageeXtended Mark-up Language

DTDDTD -- Document Type DefinitionDocument Type Definition

XSLTXSLT -- eXtended StyleSheet LanguageeXtended StyleSheet Language

ParserParser -- Analizador sintácticoAnalizador sintáctico

DOMDOM -- Document Object ModelDocument Object Model

XHTMLXHTML -- eXtended HTMLeXtended HTML

Page 77: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Algunas tecnologías XMLAlgunas tecnologías XML

Especificación actualEspecificación actual XML v1.0 (1.1 = 1.0 + namespaces)XML v1.0 (1.1 = 1.0 + namespaces)

Definición de DocumentosDefinición de Documentos DTD o SchemasDTD o Schemas

Definición de estilosDefinición de estilos XSL=XSLT + XPATHXSL=XSLT + XPATH

Enlazado de documentosEnlazado de documentos XLL=Xlink + XpointerXLL=Xlink + Xpointer

Page 78: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Documentos válidos Documentos válidos

El documento debe estar “bien formado”El documento debe estar “bien formado”

Debe ser válido (tener un DTD)Debe ser válido (tener un DTD)

Su elemento raíz debe ser aquel definido Su elemento raíz debe ser aquel definido en el DTDen el DTD

Debe satisfacer las especificaciones Debe satisfacer las especificaciones indicadas en el DTDindicadas en el DTD

Page 79: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Ejercicios prácticosEjercicios prácticos

Introducción a XMLIntroducción a XML

Page 80: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Práctica 1Práctica 1

Cree manualmente un archivo XML Cree manualmente un archivo XML llamado “libros.xml” con información llamado “libros.xml” con información sobre 10 libros relacionados con TI.sobre 10 libros relacionados con TI.

Incluya para cada libro el título, Incluya para cada libro el título, autores, número de edición (1a, 2da, autores, número de edición (1a, 2da, etc), año/fecha de publicación, etc), año/fecha de publicación, editorial, presentación (impreso en editorial, presentación (impreso en papel o versión digital) y precio papel o versión digital) y precio aproximado.aproximado.

Page 81: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

NameSpacesNameSpaces

Introducción a XMLIntroducción a XML

Page 82: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

ProblemaProblema

<table><table>

<tr><tr>

<td>Apples</td><td>Apples</td>

<td>Bananas</td><td>Bananas</td>

</tr></tr>

</table></table>

<table><table>

<name>African Coffee Table</name><name>African Coffee Table</name>

<width>80</width><width>80</width>

<length>120</length><length>120</length>

</table></table>

Page 83: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Usando un prefijoUsando un prefijo

<h:table><h:table> <h:tr><h:tr> <h:td>Apples</h:td><h:td>Apples</h:td> <h:td>Bananas</h:td><h:td>Bananas</h:td> </h:tr></h:tr></h:table></h:table>

<f:table><f:table> <f:name>African Coffee Table</f:name><f:name>African Coffee Table</f:name> <f:width>80</f:width><f:width>80</f:width> <f:length>120</f:length><f:length>120</f:length></f:table></f:table>

Page 84: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Usando un prefijoUsando un prefijo

<root><root>

<h:table xmlns:h="http://www.w3.org/TR/html4/"><h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr><h:tr> <h:td>Apples</h:td><h:td>Apples</h:td> <h:td>Bananas</h:td><h:td>Bananas</h:td> </h:tr></h:tr></h:table></h:table>

<f:table xmlns:f="http://www.w3schools.com/furniture"><f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name><f:name>African Coffee Table</f:name> <f:width>80</f:width><f:width>80</f:width> <f:length>120</f:length><f:length>120</f:length></f:table></f:table>

</root></root>

Page 85: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Usando un prefijoUsando un prefijo

<root<rootxmlns:h="http://www.w3.org/TR/html4/"xmlns:h="http://www.w3.org/TR/html4/"xmlns:f="http://www.w3schools.com/furniture">xmlns:f="http://www.w3schools.com/furniture">

<h:table><h:table> <h:tr><h:tr> <h:td>Apples</h:td><h:td>Apples</h:td> <h:td>Bananas</h:td><h:td>Bananas</h:td> </h:tr></h:tr></h:table></h:table>

<f:table><f:table> <f:name>African Coffee Table</f:name><f:name>African Coffee Table</f:name> <f:width>80</f:width><f:width>80</f:width> <f:length>120</f:length><f:length>120</f:length></f:table></f:table>

</root></root>

Page 86: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Namespaces por defaultNamespaces por default

<table xmlns="http://www.w3.org/TR/html4/"><table xmlns="http://www.w3.org/TR/html4/"> <tr><tr> <td>Apples</td><td>Apples</td> <td>Bananas</td><td>Bananas</td> </tr></tr> </table></table>

<table xmlns="http://www.w3schools.com/furniture"><table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name><name>African Coffee Table</name> <width>80</width><width>80</width> <length>120</length><length>120</length> </table></table>

Page 87: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Un uso prácticoUn uso práctico

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

<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/"><html><body> <h2>My CD Collection</h2> <table border="1"> <tr> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table></body></html></xsl:template>

</xsl:stylesheet>

Page 88: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Ejercicios prácticosEjercicios prácticos

Introducción a XMLIntroducción a XML

Page 89: Interfaces XML Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Dr. David Pinto.

Práctica 2Práctica 2

Modifique los archivos Modifique los archivos generados en la práctica 1, de generados en la práctica 1, de tal manera que se tome en tal manera que se tome en cuenta la posible integración de cuenta la posible integración de los documentos con otros en el los documentos con otros en el futuro, evitando cualquier futuro, evitando cualquier incompatibilidad por duplicación incompatibilidad por duplicación de etiquetas.de etiquetas.