Professional Documents
Culture Documents
XML
Jorge Prez Rojas e Universidad de Talca, II Semestre 2006
Motivacin o
Web Semntica: a
La Web se ha convertido en un gran repositorio de informacin. o
La info en la Web est diseada para ser fcilmente le a n a da, entendida y usada por personas.
Permiten a las personas encontrar informacin relacionada relevante o (hyperlinks).
Las personas se encargan de dar sentido a la info.
Problema: se crean cerca de 7 millones de pginas diariamente!!! cada a vez ms dif el procesamiento por personas. a cil
Motivacin (cont.) o
Integracin de Informacin: o o
Distintas empresas deben intercambiar informacin (electrnica) cr o o tica de sus procesos.
Problema: las empresas no tienen porqu compartir e modelo de datos (relacional, orientado a objetos) esquema (tipos de relaciones) terminolog (los consultores son empleados?) a convenciones (unidades de medida etc.)
Se necesita adems la automatizacin de los procesos. a o
Resultar imprctico que todas las empresas tuviesen que implementar sus a a sistemas de una forma estndar. a
Motivacin (cont.) o
Integracin de Informacin Ejemplo: o o
Actualmente en Chile todas las empresas pueden intercambiar informacin o de facturacin de manera automtica. o a
Se evita el papeleo, se agilizan los procesos.
Proyecto de Facturacin Electrnica impulsado por el SII. o o
XML
Un documento XML es un documento de texto que contiene informacin o semiestructurada. La informacin se organiza como un arbol. o
Empresa departamento codigo B02 nombre telefono Marketing 8741460 empleado nombre Parra rut 10934412 empleados codigo A03 departamento nombre Finanzas telefono 2354928 empleado nombre Gonzalez rut 8881672 empleados
XML Ejemplo
El siguiente es el documento equivalente al arbol anterior
<Empresa> <departamento> <codigo>B02</codigo> <nombre>Marketing</nombre> <telefono>8741460</telefono> <empleados> <empleado> <rut>10934412</rut> <nombre>Parra</nombre> </empleado> <empleado> <rut>12008991</rut> <nombre>Chavez</nombre> </empleado> </empleados> </departamento> <departamento> <codigo>A03</codigo> <nombre>Finanzas</nombre> <telefono>2354928</telefono> <empleados> <empleado> <rut>881672</rut> <nombre>Gonzalez</nombre> </empleado> <empleado> <rut>12009113</rut> <nombre>Rios</nombre> </empleado> </empleados> </departamento> </Empresa>
XML Construccin o
Cada porcin de texto encerrado entre < > se llama tag. o <Empresa>, <nombre>, </telefono> son tags. Un elemento y su contenido en el documento est denido por un tag a inicial y uno nal. <empleado> es el tag inicial del elemento empleado y </empleado> es el tag nal. Un tag puede ser inicial y nal a la vez no tiene contenido: <empleado></empleado> es equivalente a <empleado/>.
10
email y supervisor es un atributo de empleado. El valor de un atributo se encierra entre comillas ".
11
<evaluacion tipo="examen" fecha="17-11-2004" dificultad="98" cursoID="ICC423"> <pregunta numero="1" tema="SQL"> <enunciado>Dado el esquema construya la consulta SQL ... </enunciado> <imagen tipo="gif" peso="455">AAAKKS"#djAAASKKFL"43... </imagen> <imagen tipo="href">http://RESPALDO/BD2004/imagenes/img1.jpg</imagen> <respuestas> <respuesta calidad="correcta" userID="jperez@utalca.cl"> La siguiente es la consulta pedida ... </respuesta> <respuesta calidad="incorrecta" userID="fmeza@utalca.cl"> No se puede crear la consulta pedida, debido a ... </respuesta> </respuestas> </pregunta> <pregunta numero="2" tema="ndices"> <enunciado>Qu es un ndice?</enunciado> e </pregunta> <pregunta numero="3" tema="XML"> <enunciado>Para qu sirve XML?</enunciado> e <respuestas> <respuesta userID="jperez@utalca.cl"> Para casi todo ... </respuesta> <respuesta userID="fmeza@utalca.cl"> Para casi nada ... </respuesta> </respuestas> </pregunta> </evaluacion>
12
XML y la Web
Actualmente la mayor de las pginas Web estn construidas en HTML, a a a solo estructuran el contenido y le dan un orden visual a los datos. Slo son entendibles por personas, no se puede hacer un procesamiento o automtico. a XML se puede usar para construir pginas Web. a XML en la Web Combina contenido semiestrucutrado y estructura visual puede ser procesado por personas y por mquinas. a Las bsquedas en la Web ser much u an simo ms precisas si las pginas se a a construyeran usando XML.
13
HT M
XM L
14
XML DTD
A un documento XML adems de las reglas de construccin, se le puede a o exigir que cumpla un esquema particular, similar a como se le exige un esquema a una relacin de una BD. o Un DTD (document type denition) es un documento para exigir un esquema a un XML. DTD: Bsicamente una Gramtica Libre de Contexto que describe los tags y a a la forma permitida de anidarlos. Describe los elementos y los posibles atributos. Cada dominio (aplicacin, pginas Web, BD, conjunto de empresas) crea o a su propio DTD que describe a todos los documentos vlidos del grupo. a
15
DTD Ejemplo
<!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT Empresa (departamento*)> departamento (codigo,nombre,telefono,empleados)> empleados (empleado*)> <Empresa> empleado (rut,nombre)> <departamento> codigo (#PCDATA)> <codigo>B02</codigo> telefono (#PCDATA)> <nombre>Marketing</nombre> rut (#PCDATA)> <telefono>8741460</telefono> nombre (#PCDATA)> <empleados>
DT D
<Empresa> <departamento> <nombre>Marketing</nombre> <telefono>8741460</telefono> <empleados> <empleado> <nombre>Parra</nombre> </empleado> </departamento> </Empresa> <Empresa>
No
<empleado> <rut>10934412</rut> <nombre>Parra</nombre> </empleado> <empleado> <rut>12008991</rut> <nombre>Chavez</nombre> </empleado> </empleados> </departamento> </Empresa>
No
V a
lid
lid o
V a
V a
lid
<Empresa> </Empresa>
V a
lid o
16
DTD (cont.)
!ELEMENT se usa para la denicin de un elemento. o La denicin de !ELEMENT lleva el nombre del elemento a denir y una o expresin regular entre parntesis. o e En la expresin regular, * indica 0 o ms ocurrencias, + indica una o ms o a a ocurrencias, ? indica 0 o una ocurrencia, , es concatenacin y | es unin. o o #PCDATA indica que el contenido del elemento es slo una secuencia de o caracteres. Adems se puede denir una lista de atributos para un elemento usando a !ATTLIST. La denicin de !ATTLIST lleva el nombre del elemento para el que se o dene la lista de atributos seguido del nombre del atributo, el tipo del atributo (CDATA, ID, IDREF o una lista de valores) y un modicador (#REQUIRED, #IMPLIED, o el valor por defecto).
17
DTD Ejemplo
<!ELEMENT repositorio (Evaluacion*)> <!ELEMENT evaluacion (pregunta+)> <!ATTLIST evaluacion tipo (examen|prueba|tarea) #REQUIRED> <!ATTLIST evaluacion fecha CDATA #REQUIRED> <!ATTLIST evaluacion dificultad CDATA #IMPLIED> <!ATTLIST evaluacion cursoID CDATA #REQUIRED> <!ELEMENT pregunta (enunciado,imagen*,respuestas?)> <!ATTLIST pregunta numero CDATA #REQUIRED> <!ATTLIST pregunta materia CDATA #REQUIRED> <!ELEMENT enunciado (#PCDATA)> <!ELEMENT imagen (#PCDATA)> <!ATTLIST imagen tipo (gif|jpeg|bmp|href) #REQUIRED> <!ATTLIST imagen peso CDATA #IMPLIED> <!ELEMENT respuestas (respuesta+)> <!ELEMENT respuesta (#PCDATA)> <!ATTLIST respuesta userID CDATA #REQUIRED> <!ATTLIST respuesta calidad (correcta|incorrecta) #IMPLIED>
18
19
20
Opcin elements o
Por defecto
<depto> <nombre>Finanzas</nombre> <depto nombre="Finanzas" codigo="A03"> <codigo>A03</codigo> <emp nombre="Gonzalez" rut="08881672"/> <emp> <emp nombre="Rios" rut="12009113"/> <nombre>Gonzalez</nombre> </depto> <rut>08881672</rut> </emp> <emp> <nombre>Rios</nombre> <rut>12009113</rut> </emp> </depto>
21
XML como BD
Surgen muchas preguntas: Cmo poder obtener informacin desde un XML? Existe algo similar a o o SQL? Puede hacerse en forma eciente? Es factible almacenar grandes cantidades de informacin directamente en o XML? (Sin tener que pasar por un sistema administrador en modelo relacional) Cmo podemos medir si un esquema en XML (DTD) representa un buen o diseo? Existe normalizacin de XMLs? n o La contraparte relacional de estas preguntas ya han sido respondidas, de hecho es lo que se estudia a lo largo de un curso de BD. Todas las preguntas anteriores concernientes a XML se encuentran aun en estado muy inicial de investigacin... Existe mucha gente trabajando o actualmente en estos y otros temas con respecto a XML.
22
23
24
25
XML Conclusiones
XML nos presenta una vista jerarquizada y semiestructurada de los datos lo que resulta benecioso en distintas aplicaciones. Ya ha demostrado (en la prctica) ser la herramienta adecuada para a intercambiar informacin por la Web y es la solucin al problema de la o o Web Semntica. a XML toma cada vez ms fuerza como una alternativa vlida para a a almacenar informacin a gran escala. o Grandes esfuerzos a nivel mundial se realizan actualmente para proveer bases tericas para el desarrollo de XML como Base de Datos, existen o muchas preguntas abiertas y es un campo interesante para investigacin. o