Professional Documents
Culture Documents
Introduccin a XML
Profesor: Alejandro Vaisman 1er. Cuatrimestre, 2007
4/16/2007
XML
z XML es el lenguaje estndar para intercambiar informacin en la Web. z Ampliamente usado para almacenar informacin en la Web. z Siguiente generacin de buscadores. z Algunas de las tecnologas asociadas al uso de XML ya estn maduras. z Un rea con muchos problemas de investigacin abiertos. zInteresantes zRelevantes. z No triviales.
4/16/2007 2
Datos
z Dada una coleccin grande de datos, { Cmo organizar/representar los datos? modelos de datos { crtico con respecto al almacenamiento, recuperacin, y data management z Cmo recuperar eficientemente la informacin de los datos? Queries z Cmo manejar eficientemente los datos? actualizaciones (updates) z Los datos se encuentran tpicamente en documentos y bases de datos relacionales: { los sistemas de la base de datos relacionales dominan los sistemas comerciales { XML es el estndar de facto para el intercambio de datos
4/16/2007
4/16/2007
4/16/2007
4/16/2007
Porqu no HTML?
z Amazon publica un catlogo de ventas de libros { Fuente de datos: base de datos relational { Publicacin: pginas HTML generadas de la base de datos relacional
{ Los clientes quieren consultar el catlogo z pueden solo acceder a las paginas web publicadas (ergo, necesitan un parser) z Solo les interesa informacin de libros sobre las Armas de Destruccin Masiva, y solo les interesa informacin sobre ADM escritos por Bush -- En SQL:
select B
Un cambio de menor importancia del formato al documento del HTML puede romper el parser - y dar una respuesta errnea la consulta
Porque? Los tags HTML son predefinidos y fijos describen el formato y no la estructura de los datos HTML es bueno para presentacin es human-friendly, pero no ayuda a la extraccin automtica de datos mediante programas 4/16/2007
4/16/2007
Acerca de XML
z XML basics: elementos, atributos, trees z Document Type Definition
{types: element type definition {constraints: ID/IDREF
4/16/2007
11
{ Una implementacin completa, genrica de SGML ha demostrado ser extremadamente dificil. { Herramientas para trabajar con documentos SGML han demostrado ser muy caros. z Dos sub-languages desplazaron a SGML: { HTML: HyperText Markup Language (Tim Berners-Lee,1991). Describe presentacin. XML: eXtensible Markup Language, W3C, 1998. Describe contenido.
4/16/2007
12
De HTML a XML
z El HTML es bueno para presentacin (human-friendly), pero no ayuda a la extraccin de datos automtica por medio de los programas (no user-friendly). z Porqu? Los tags HTML son: { Predefinidos y fijos { Describe el display format, no la estructura de los datos.
4/16/2007
13
4/16/2007
14
z XML
{ El standard XML no define como debe desplegarse la informacin { Style sheet: provee browsers y un conjunto de reglas de formateo a aplicar a elementos particulares
z CSS (Cascading Style Sheets), originalmente para HTML z XSL (eXtensible Style Language), for XML
4/16/2007 15
XML
z El usuario puede definir tags: <book>, <title>, etc. z La estructura se puede anidar arbitrariamente
4/16/2007
16
XML
z La estructura se puede definir recursivamente
4/16/2007
17
Tags y Texto
z XML consiste en tags y texto
Los tags vienen en pares: markups start tag, e.g., <course> end tag, e.g., </course> Los tags deben anidarse correctamente
XML tiene un nico tipo bsico : text, llamado PCDATA (Parsed Character DATA)
4/16/2007 18
Elementos XML
z Elemento: el segmento entre el tag inicial y su correspondiente tag final. z Subelemento: la relacion entre un elemento y sus elementos componentes. <person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@dc.uba.ar </email> <email> avaisman@cs.toronto.edu</email> <oldemail>avaisman@dcc.uchile.cl</oldemail>
</person>
4/16/2007 19
Elementos XML
z Elemento: el segmento entre el tag inicial y su correspondiente tag final. z Subelemento: la relacion entre un elemento y sus elementos componentes. <person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@dc.uba.ar </email> <email> avaisman@cs.toronto.edu</email> <oldemail>avaisman@dcc.uchile.cl</oldemail>
</person>
4/16/2007 20
Estructura Anidada
z Los tags anidados pueden utilizarse para expresar varias estructuras, z e.g., records:
<person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@dc.uba.ar </email> <email> avaisman@cs.toronto.edu</email>
</person>
Estructura Ordenada
z Los elementos XML estan ordnados!
{ Como representar conjuntos en XML? { Como representar un par no ordenado (a, b) en XML? z <person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@dc.uba.ar </email> <email> avaisman@cs.toronto.edu</email>
</person>
4/16/2007 22
Estructura Ordenada
z Los elementos XML estan ordnados!
{ Como representar conjuntos en XML? { Como representar un par no ordenado (a, b) en XML? z <person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@dc.uba.ar </email> 1er. e-mail <email> avaisman@cs.toronto.edu</email> 2do. e-mail
</person>
4/16/2007 23
Estructura Ordenada
z Los siguientes elementos son considerados distintos
<person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel <email> avaisman@dc.uba.ar </email> <email> avaisman@cs.toronto.edu</email>
</person>
z <person>
<name> Alejandro Vaisman </name> <tel> (5411) 4576 3390 ext. 710 </tel> <email> avaisman@cs.toronto.edu</email> <email> avaisman@dc.uba.ar </email>
</person>
4/16/2007 24
Elementos Especiales
z Elemento raz: Un documento XML consiste de un sinple elemento llamado root, e.g.,
Atributos XML
Un tag inicial puede contener atributos describiendo algunas propiedades del elemento (e.g., dimensin o tipo)
4/16/2007
26
4/16/2007
28
z Un documento esta bien formado, si satisface dos restricciones (donde solo elementos y atributos se consideran): { Los tags deben anidarse apropiadamente { Los atributos deben ser nicos. z Constraints muy dbiles: Prcticamente aseguran que el documento XML podr generar un labeled tree.
4/16/2007
29
Pab.
Aula
I I I
8 6 4
Cmo se puede almacenar esta informacin en XML? Cmo lo hara si tuviera varias relaciones?
4/16/2007 30
4/16/2007
31
4/16/2007
32
4/16/2007
33