La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad del Valle de Puebla

Presentaciones similares


Presentación del tema: "Universidad del Valle de Puebla"— Transcripción de la presentación:

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

2 Agenda del día de hoy Presentación de los participantes.
Análisis de expectativas. Presentación del programa. Plenario de acuerdos. Elaboración de un directorio electrónico. Exposición teórica del profesor: Introducción a XML (conceptos básicos y análisis de documentos). Exposición práctica del profesor: Ejemplos prácticos sobre la aplicación de XML en diversas áreas. TAREA: Elaborar un catalogo de productos usando la estructura básica de XML.

3 Presentación David Eduardo Pinto Avendaño (David Pinto)
Doctorado en Reconocimiento de Formas e Inteligencia Artificial (Universidad Politécnica de Valencia, España) Maestría y Licenciatura en Ciencias de la Computación (Facultad de Ciencias de la Computación, BUAP, México) Página Web: Contacto:

4 Contenido del curso OBJETIVO GENERAL:
Desarrollar interfaces basadas en XML y Java operando sistemas de información sobre la Web.

5 Método de trabajo El docente expondrá los aspectos teóricos sobre interfaces XML mediante el uso de técnicas de exposición y conferencia. El docente expondrá de una manera práctica y a través de ejemplos el uso de interfaces XML. El docente asignará lecturas en casa y aula, utilizando dinámicas para la lectura guiada y lectura comentada. El alumno deberá desarrollar un trabajo de investigación documental y expresar dicho trabajo a través de la tecnología XML. El proyecto deberá tener relevancia y ser significativo para el desarrollo de trabajo de tesis del estudiante.

6 Presentación del Programa
Interfaces XML

7 Conceptos básicos Fundamentos. Elementos de XML Aplicaciones.
Orígenes de XML Metas de XML Creación de documentos Despliegue de documentos XML Verificación del formato XML Elementos de XML Atributos Namespaces Entidades Otras marcas Aplicaciones. XML y Java. XML y otros lenguajes.

8 Análisis de documentos
Procesadores de XML. XML Notepad Lectura de un documento en XML. Sintaxis básica XML. Programación de interfaces. Ejercicios prácticos

9 Gestión de documentos y metacontenidos
Hojas de estilo CSS Hojas de estilo XSLT Servlets DocMan Vista, lista y búsqueda de documentos. Creación de metacontenidos.

10 JSP y XML Introducción a JSP JSP con XML Etiquetas JSP personalizadas
Generación de archivos XML desde JSP Convertir XML a Objetos del Lado del Servidor API Simple para XML (SAX) Document Object Model (DOM) Transformación entre diferentes lenguajes XML Etiquetas JSP personalizadas Introducción a J2EE Etiquetas Personalizadas y J2EE Enterprise Java Beans (EJBs) Describir y Referenciar Servicios J2EE Aplicación Web con una base de datos. Ejercicios

11 Bases de datos y XML Java y bases de datos JDBC
SQL incrustado en XML: SQLX Aplicación Web con una base de datos

12 Plenario de Acuerdos Interfaces XML

13 Normas y procedimientos de evaluación
Prácticas 40% Proyecto % TOTAL: %

14 Sesión 1: Conceptos básicos de XML
Universidad del Valle de Puebla Maestría en Administración de Tecnologías de la Información Sesión 1: Conceptos básicos de XML Dr. David Pinto

15 Conceptos básicos XML: Extensible Mark-up Language (lenguaje de marcado extensible) Es un lenguaje orientado a: La definición de datos de carácter general. Nos permite definir modelos de datos. Al compartir modelos de datos se facilita el intercambio de datos entre sistemas (aplicaciones) heterogéneos. Crear nuevos lenguajes gracias a sus mecanismos de extensibilidad. Por ello, se dice que XML es un metalenguaje (un lenguaje para crear nuevos lenguajes). Se refiere únicamente a los datos, no a su presentación. Deja a otras aplicaciones la tarea de definir la estructura de visualización.

16 Conceptos básicos XML es el formato y el modelo para intercambiar información entre componentes, aplicaciones, y empresas a través de Internet Microsoft, IBM, Firefox, etc., están apostando fuertemente a esta tecnología XML es un estándar abierto a Internet (W3C) XML habilita una nueva generación de aplicaciones en Internet

17 Conceptos básicos XML

18 ¿Qué es XML? Texto que cumple ciertas reglas
Las reglas tienen puntos en común con HTML Abierto a sistemas operativos

19 ¿Qué es XML? SGML XML HTML
XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language) Creado y soportado por el World Wide Web Consortium ( SGML XML HTML

20 ¿Qué es XML? XML es un sub-conjunto de SGML (Standard Generalized Mark-up Language) Creado y soportado por el World Wide Web Consortium (

21 ¿Qué es XML? Más fácil que SGML Más pequeño
Pensado para ser utilizado en Internet XML es un lenguaje utilizado para estructurar y describir datos de forma que puedan ser entendidos o interpretados por diferentes aplicaciones Puede ser utilizado por cualquier lenguaje y/o sistema operativo

22 ¿Qué es XML? XML es un meta-lenguaje que nos permite definir lenguajes de marcado, adecuados a usos determinados XML es un estándar de Internet, aprobado por la W3C ( Traducciones: Los proveedores tratan de ajustarse a las especificaciones Microsoft (MSXML40.DLL) e IBM ofrecen un conjunto de objetos para manejar XML

23 ¿Qué NO es XML? XML no es una versión mejorada de HTML
XML no es un lenguaje para hacer mejores páginas web XML no es difícil

24 ¿Dónde está la revolución?
Para entender la revolución que plantea XML, hay que entender las tecnologías circundantes XSL XSLT DTD Schema XPATH Etc. Estas son las que realmente hacen la revolución (En especial XSLT, y DTD, y Schema)

25 Algo de historia sobre XML
Desarrollo a partir de 1996, como un sub-conjunto de SGML Adoptado como estándar en Febrero de 1998, por el World Wide Web Consortium (W3C)

26 World Wide Web Consortium (W3C)
Constituido en 1994 con el objetivo de desarrollar protocoles comunes para la evolución de Internet Es un consorcio de industrias internacionales, y está participado por MIT (EEUU), INRA (Francia), y Keio University (Japón) Cuenta con el apoyo de DARPA (EEUU), y la comisión europea (IEEE)

27 ¿Qué ventajas tiene XML?
Un documento en XML, puede tener varias formas de presentación

28 ¿Qué ventajas tiene XML?
Formato ideal para transacciones B2B Permite poderosas técnicas de extracción y búsqueda de información (XSL y XPATH) Las estrictas reglas para la composición de un documento XML, permite su fácil análisis sintáctico A diferencia de HTML, XML es sensitivo a mayúsculas y minúsculas

29 Lenguajes Específicos
HTML — ejemplo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL//EN"> <HTML> <HEAD> <TITLE>Memo</TITLE> </HEAD> <BODY> <FONT FACE="Times New Roman" SIZE="2"> <P> <B>To: </B> Camino<BR> <B>From: </B> Juanma<BR> <B>Cc: </B> Nacho<BR> <B>Subject: </B> Capítulo 1 </P> <P> Qué opinas del formato? </P> </FONT> </BODY> </HTML> Hay etiquetas de estructura (HEAD, TITLE, BODY, P) mezcladas con etiquetas de formato (B, BR) El DTD define la estructura permisible de un documento HTML Normalmente, los procesadores de HTML (típicamente navegadores) no validan los documentos contra su DTD. Limitaciones de lenguajes de marcas específicos Los autores están limitados a un conjunto de marcas Los documentos no tienen por qué ser portables

30 Visualización de HTML

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

32 Visualización de un archivo XML

33 Visualización de un archivo XML

34 Visualización de un archivo XML

35 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

36 El elemento y sus atributos
<autor pais=“Uruguay”>Mario Benedetti</autor> Nombre del atributo Contenido del elemento Valor del atributo Etiqueta de fin Nombre del elemento

37 Reglas y pautas XML Se dice que un documento XML es ‘bien formado’ (well formed), cuando cumple una serie de reglas escritas en XML v1.0 Los elementos deben seguir una estructura de árbol (estrictamente jerárquica) Los elementos deben estar correctamente anidados Los elementos no se pueden superponer entre ellos

38 Estructura de un documento XML
<?xml version="1.0"?> <!DOCTYPE FloresSilvestres SYSTEM “flores.dtd"> Estructura Lógica = cómo se estructura el documento Física = qué contiene el documento Prólogo XML Declaration Document Type Declaration Document Element Siempre el raíz Anidamiento de elementos restantes

39 Sintaxis Etiquetas Apertura/cierre <TAG> Texto </TAG> Elemento vacío <TAG></TAG>  <TAG/> Atributos <TAG ATRIB=“valor”> Texto </TAG> Entidades Parseadas <!ENTITY PL “poca luz”> ... <TERM>Esta planta necesita &PL;</TERM> No parseadas <!ENTITY Img SYSTEM “Img.gif” NDATA GIF> Predefinidas <  < &  & ...

40 Recomendaciones Todo contenido estará etiquetado. Toda etiqueta debe estar delimitada por los símbolos de menor y mayor. Ejemplo: <libro> 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 barra ‘/’. Ejemplo: <libro> ... </libro> 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 ‘/’. Los nombres de etiquetas son sensibles a mayúsculas y minúsculas (a diferencia de HTML) La estructura de una etiqueta sigue la terna objeto-atributo-valor. Notación larga: <etiqueta> <atributo1> valor </atributo1> ... </etiqueta> Notación corta (las dobles comillas son obligatorias, a diferencia de HTML): <etiqueta atributo1=“valor” ... > </etiqueta> Ejemplo: <libro> <autor>Miguel De Cervantes</autor> <titulo>El Quijote</titulo> <precio>18</precio> </libro>

41 Recomendaciones La estructura del documento es jerárquica, en forma de árbol, en la que siempre hay un primer elemento raíz. Todo documento XML debe comenzar por una declaración XML con la siguiente estructura: <?xml version=“Versión de XML” encoding=“Codificación” standalone=“Incluye_DTD” ?> Donde cada atributo significa: Versión de XML: número de versión que se utiliza. Codificación: formato de codificación, por ejemplo, UTF-8, UTF-16, ISO UCS-2, ISO UCS-4, ISO , ISO , (hasta ISO ), etc. Las dos primeras son las más usadas. Incluye_DTD: puede tomar el valor “yes” (la especificación DTD se encuentra en el propio documento) o “no” (la especificación es un archivo externo). Ejemplo: <?xml version=“1.0” encoding=“UTF-8” standalone=“yes” ?>

42 XML (Ejemplo...) <?xml version="1.0" encoding="UTF-8” standalone=“yes”?> <!-- Ejemplo de Biblioteca   --> <biblioteca> <libro ISBN=" "> <titulo>XML in a Nutshell, 2nd Edition</titulo> <autor> <nombre>Elliotte Rusty Harold, W. Scott Means</nombre> <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>

43 ¿Qué problemas tiene HTML?
Es un meta-lenguaje de definición de presentación Contiene datos + presentación No es fácilmente procesable por ‘máquinas’ No fuerza al la buena estructura de la página (pueden dejarse por error etiquetas sin cerrar) Su interpretación depende del software utilizado Está pensado para su utilización en páginas Web.

44 HTML versus XML HTML se centra en el despliegue, y es menos estructurado Las etiquetas y atributos son fijos Es posible olvidar el cierre de alguna etiqueta XML es sobre datos, y es sumamente estructurado Las etiquetas y atributos son extensibles Se fuerza a tener una estructura consistente

45 ¿Qué ventajas tiene XML?
Fácil de procesar/entender por software o por seres humanos Pensado para ser utilizado en cualquier lenguaje o alfabeto Separa radicalmente la información o contenido, de su presentación o formato

46 Construyendo documentos XML

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

48 Reglas y pautas XML Los documentos deben tener un nodo raíz
Todas las etiquetas deben estar debidamente cerradas Las etiquetas vacías (etiquetas sin contenido) deben tener una sintaxis especial

49 Ejemplo <libros><autor pais=“Uruguay”>Leo Masliah<Ranking=100></autor></libros> <libros> <autor pais=“Uruguay”>Leo Masliah <Ranking=100/></autor> </libros>

50 Reglas y pautas XML Un nombre de elemento, atributo, entidad, etc., comienza por una letra, y continúa con letras, dígitos, guiones, rayas, punto, dos puntos. No pueden utilizarse las palabras XML, xml,Xml, etc., como caracteres iniciales del nombre de un atributo, entidad, etc. XML es sensitivo a mayúsculas y minúsculas (no es lo mismo <Autor> que <autor> El uso de espacios en blanco, y los saltos de línea, funcionan al igual que en HTML (sólo se toma en cuenta cuando aparece en el valor de un atributo, o cuando se indica su grado de significado)

51 Sintaxis Las etiquetas se denominan ‘marcas’, y son las partes del documento que el ‘analizador sintáctico’ (parser) espera comprender Las marcas en un documento XML comienzan con el carácter < y finalizan con > En el caso de referencias de entidad, el carácter inicial es & y el final es ; La primer línea debe especificar la versión de XML (de momento sólo 1.0), la codificación de caracteres (US-ASCII, UTF-8, ISO ,etc),y va entre caracteres de <? ?> en vez de < .. >

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

53 Sintaxis La segunda línea define el DTD (se verá mas adelante), y es opcional <!DOCTYPE mensaje SYSTEM “mensaje.dtd”>

54 Los Elementos en XML Los elementos en XML pueden: Pueden estar vacíos
Tener contenido (Texto, Valores, etc.) Contener otras etiquetas o atributos Contener otras etiquetas, atributos, y contenido a la vez Pueden estar vacíos

55 Ejemplo <nombre>James Britt</nombre>
<nombres> <nombre>James</nombre> <apellido>Britt</apellido> </nombres> <persona edad=30><nombre>James Britt</nombre></persona> <Sexo=“Masculino”/>

56 Los Atributos en XML Los elementos pueden incorporar atributos, que son características o propiedades particulares Los atributos siempre deben estar marcados con comillas simples o dobles, y se sitúa como un valor adicional a una etiqueta.

57 Ejemplo <libros> <titulo>El amor es la compensación de la muerte; su correlativo esencial </titulo> <autor>Arthur Schopenhauer</autor> <precio moneda=“$”>200 pesos</precio> </libros> Atributo

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

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

60 Las entidades en XML Entidad Carácter & & < > ' ‘
"

61 Las secciones CDATA Otra forma de ingresar un bloque de caracteres sin que el procesador XML los interprete, es utilizando los bloques CDATA (Character Data) Ingresar etiquetas HTML dentro de un documento XML (se verá su utilidad mas adelante)

62 Ejemplo Sin una sección CDATA
<ejemplo> <HTML> <BODY> Hola, esto es un documento html dentro de uno XML </BODY> </HTML> </ejemplo>

63 Ejemplo Con una sección CDATA
<ejemplo> <![CDATA[ <HTML>; <BODY> Hola, esto es un documento html dentro de uno XML </BODY> </HTML> ]]> </ejemplo>

64 Utilizando comentarios en XML
En general, es necesaria la utilización de comentarios en un documento XML Estos deben ser ignorados por el procesador sintáctico, y las reproducciones del documento. Igual sintaxis que en HTML (<!-- y -->) Nunca puede ir dentro de una etiqueta, etc.

65 Aplicaciones de XML Formato de intercambio de datos
Sistemas heredados Integración de sistemas heterogéneos Publicación de datos En diversos formatos (HTML, WML, PDF, etc.) a través de transformaciones XSLT Repositorios de datos Bases de datos nativas XML Lenguajes de consulta y actualización: XQuery, XQL, XUpdate, etc. Ficheros de configuración y log Aplicaciones, servidores Web, motores de Servlets, descripción de componentes EJB, etc. Sistema operativo Etc.

66 Almacenamiento de datos Tradicional
Bases de Datos Tiempo y costo para crear y mantener Archivos Planos El formato no es estandarizado Se deben escribir sus propios programas de validación de entrada y salida

67 Almacenamiento de Datos XML
La búsqueda de datos es relativamente fácil El formato es Standard Las herramientas Standard para validación de entrada/salida ya existen La facilidad de lectura de los archivos planos hacen mas fácil el control

68 Intercambio de Datos Tradicional
Delineación de valores Datos difíciles de leer/identificar Las relaciones entre los datos son difíciles de documentar Campos Fijos Limitados a cierta extensión de campo

69 Intercambio de Datos en XML
Los datos son relativamente simples de leer y editar con un simple editor de texto Relaciones complejas (árboles, herencia) pueden ser comunicadas Tags son auto-descriptivas, leídas por humanos Validación de datos automática Validators exist – you just need to supply the DTD. If format changes, no need to change any code, just supply a new DTD.

70 Despliegue Tradicional de Documentos
HTML Contenido e interfase gráfica mezclados Buscar información en los datos es pesado Los contenidos están ‘atados’ a la lógica y lenguaje HTML Los Tags son genéricos por naturaleza

71 Despliegue de Documentos XML
Significado de los tags es manejado por XSL Instrucciones para transformar un tipo de documento en otro Transformación común XML -> HTML Un archivo XML puede ser enlazado a varios archivos XSL El contenido de un archivo puede ser ‘renderizado’ para Web, impresion, celulares, etc. Separación de la presentación y el contenido

72 Aplicaciones que procesan XML
Verifican que documentos XML cumplan con los Standard para ser “bien formados” Validan en base a las definiciones especificadas en un DTD Transforman los datos basadas en instrucciones XSL (Extensible Stylesheet Language)

73 Cuando utilizar XML Almacenar y buscar pequeñas cantidades de datos
Intercambio de datos entre diferentes aplicaciones u organizaciones Separar contenidos de presentación

74 Herramientas Existen para varios lenguajes Cocoon Java, ASP, PHP
Aplicación para proceso de XML

75 Sopa de Letras XML DOM DTD XPointer XLL XQL XSLT Schema XSL XDR SAX
XPath XRef SGML Parser SOAP XML-Data

76 Algunas definiciones XML - eXtended Mark-up Language
DTD - Document Type Definition XSLT - eXtended StyleSheet Language Parser - Analizador sintáctico DOM - Document Object Model XHTML - eXtended HTML

77 Algunas tecnologías XML
Especificación actual XML v1.0 (1.1 = namespaces) Definición de Documentos DTD o Schemas Definición de estilos XSL=XSLT + XPATH Enlazado de documentos XLL=Xlink + Xpointer

78 Documentos válidos El documento debe estar “bien formado”
Debe ser válido (tener un DTD) Su elemento raíz debe ser aquel definido en el DTD Debe satisfacer las especificaciones indicadas en el DTD Rules must be communicated to processing applications (browsers)

79 Ejercicios prácticos Introducción a XML

80 Práctica 1 Cree manualmente un archivo XML llamado “libros.xml” con información sobre 10 libros relacionados con TI. Incluya para cada libro el título, autores, número de edición (1a, 2da, etc), año/fecha de publicación, editorial, presentación (impreso en papel o versión digital) y precio aproximado.

81 NameSpaces Introducción a XML

82 Problema <table> <tr> <td>Apples</td>
<td>Bananas</td> </tr> </table> <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

83 Usando un prefijo <h:table> <h:tr>
<h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>

84 Usando un prefijo <root>
<h:table xmlns:h=" <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f=" <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>

85 Usando un prefijo <root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f=" <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>

86 Namespaces por default
<table xmlns=" <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <table xmlns=" <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

87 Un uso práctico <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl=" <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"> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

88 Ejercicios prácticos Introducción a XML

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


Descargar ppt "Universidad del Valle de Puebla"

Presentaciones similares


Anuncios Google