Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

XML

No description
by

Maty Alis

on 10 October 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of XML

Extensible Markup Language
XML
Historia
Validez
Bases de Datos Relacionales
XML proviene de un lenguaje inventado por IBM en los años setenta, llamado GML (Generalized Markup Language), despues normalizado por la ISO creando SGML (Standard Generalized Markup Language), capaz de adaptarse a un gran abanico de problemas. despues de HTML se busco definir otro conjunto SGML por lo que surgio XML.

XML lenguaje que permite:

Mezclar elementos de diferentes lenguajes.
La creación de analizadores simples, sin ninguna lógica especial para cada lenguaje.
Empezar de cero y hacer hincapié en que no se acepte nunca un documento con errores de sintaxis.
XML Y BASE DE DATOS
Introducción
XML y Bases de Datos Relacionales
XML y Bases de Datos Orientadas a Objetos
XQuery
Estructura de documento XML
Ventajas de XML
Es extensible: Después de diseñado y puesto en producción, es posible extender XML con la adición de nuevas etiquetas.
El analizador es un componente estándar, no es necesario crear un analizador específico para cada versión de lenguaje XML.
Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarla.
Mejora la compatibilidad entre aplicaciones.
Cada aplicación de XML, es decir, cada lenguaje definido con esta
tecnología, necesitará especificar cuál es exactamente la relación que debe
verificarse entre los distintos elementos presentes en el documento.
Esta relación entre elementos se especifica en un documento externo o
definición (expresada como DTD —Document Type Definition, 'Definición de
Tipo de Documento'— o como XSchema). Crear una definición equivale a crear
un nuevo lenguaje de marcado, para una aplicación específica.
Un Schema es algo similar a un DTD. Define qué elementos puede contener un documento XML, cómo están organizados y qué atributos y de qué tipo pueden tener sus elementos.



Usan sintaxis de XML, al contrario que los DTD.
Permiten especificar los tipos de datos.
Son extensibles.
Transformación de una tabla a un documento XML
Partes XML Docs
Prólogo
Cuerpo
Elementos
Atributos
Secciones CDATA
Entidades Predefinidas
Comentarios
(cc) photo by theaucitron on Flickr
Un documento XML tiene dos estructuras, una lógica y otra física. Cada documento comienza con una entidad documento, también llamada raíz. El documento está compuesto de declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento, todos los cuales están indicados por una marca explícita.

Los documentos XML se dividen en dos grupos, documentos bien formados y documentos válidos.

Bien formados: Son todos los que cumplen las especificaciones del lenguaje respecto a las reglas sintácticas

Válidos: Además de estar bien formados, siguen una estructura y una semántica determinada por un DTD
Aunque no es obligatorio, los documentos XML pueden empezar con unas líneas que describen la versión XML, el tipo de documento y otras cosas.

El prólogo de un documento XML contiene:
Una declaración XML.
Una declaración de tipo de documento. Enlaza el documento con su DTD (definición de tipo de documento), o el DTD puede estar incluido en la propia declaración o ambas cosas al mismo tiempo.
Uno o más comentarios e instrucciones de procesamiento.

EJEMPLO: <?xml version="1.0" encoding="UTF-8"?>
A diferencia del prólogo, el cuerpo no es opcional en un documento XML, el cuerpo debe contener solo un elemento raíz, característica indispensable también para que el documento esté bien formado. Sin embargo es necesaria la adquisición de datos para su buen funcionamiento.
Los elementos XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser elementos vacíos.

<nombre>Fernando Damián</nombre>
Los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los elementos de un documento.
Deben ir entre comillas.

Por ejemplo,
un elemento «estudiante» puede tener un atributo «Mario» y un atributo «tipo», con valores «come croquetas» y «taleno» respectivamente.

<Estudiante Mario="come croquetas" tipo="taleno">Esto es un día que Mario va paseando…</Estudiante>
Entidades para representar caracteres especiales para que, de esta forma, no sean interpretados como marcado en el procesador XML.

Entidad Carácter

&amp &
&lt <
&gt >
&apos '
&quot "
Es una construcción en XML para especificar datos utilizando cualquier carácter sin que se interprete como marcado XML. Permite que caracteres especiales no rompan la estructura. Ejemplo:

<![CDATA[ contenido especial: áéíóúñ&]] >
Comentarios a modo informativo para el programador que han de ser ignorados por el procesador. Los comentarios en XML tienen el siguiente formato:

<!--- Esto es un comentario --->

<!-- Otro comentario -->
Ejemplo
Documentos XML bien formados y control de errores
Los documentos denominados como «bien formados» son aquellos que cumplen con todas las definiciones básicas de formato y pueden, por lo tanto, analizarse correctamente por cualquier analizador sintáctico (parser) que cumpla con la norma.

Los documentos han de seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas que delimitan sus elementos.
Los documentos XML sólo permiten un elemento raíz del que todos los demás sean parte.
Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles.
El XML es sensible a mayúsculas y minúsculas.
Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc.
Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas; son partes del documento que el procesador XML espera entender. El resto del documento entre marcas son los datos «entendibles» por las personas.
Document Type Definition
La Document Type Definition o DTD (en español "definición de tipo de documento") define los tipos de elementos, atributos y entidades permitidas, y puede expresar algunas limitaciones para combinarlos. Los documentos XML que se ajustan a su DTD son denominados válidos.
Declaraciones tipo elemento
Los elementos deben ajustarse a un tipo de documento declarado en una DTD para que el documento sea considerado como válido.
Modelos de contenido
Un modelo de contenido es un patrón que establece los subelementos aceptados, y el orden en que se aceptan.
Ventajas de los Schemas frente a los DTD
Transformación
Conclusión
Resultados
Ejemplo
Generalización
Reglas DTD
Contenido
Historia
Ventajas de XML
Estructura de un Documento XML
Validez
XML y Bases de Datos
Relacionales
OO
XQuery

XML Schemas (XSD)
1. Para cada tabla en el esquema de la base de datos hay que crear un elemento con el mismo nombre de la tabla y la cardinalidad apropiada.
2. Las columnas de la tabla son incluidas en otro elemento (sub-elemento del elemento creado en la regla anterior), que representa un registro en la tabla
3. Para cada columna en la tabla cuyo tipo de dato es simple (char, integer, etc.) crear un elemento, sub-elemento del elemento creado en el paso anterior, de tipo #PCDATA con el mismo nombre de la colum
4. Para cada columna en la tabla cuyo tipo de dato es complejo (tipo objeto), crear un elemento complejo, sub-elemento del elemento creado en el paso 2, con el mismo nombre de la columna. Para cada propiedad del tipo objeto crear un elemento con el mismo nombre de la propiedad
5. Para cada columna en la tabla que es una tabla anidada, crear un elemento con el mismo nombre de esa columna y la cardinalidad apropiada. Repetir todos los pasos desde el 2
1
2
3
4
DTD


<!DOCTYPE libros [
<!ELEMENT libros (libro)*>
<!ELEMENT libro (isbn, titulo, autores, editor, precio, año, revisores)>
<!ELEMENT isbn (#PCDATA)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autores (autor)+>
<!ELEMENT autor (nombre, apellidos, email)>
<!ELEMENT editor (nombre,oficina,homepage) >
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT apellidos (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT oficina (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT precio (#PCDATA)>
<!ELEMENT año (#PCDATA)>
<!ELEMENT revisores (revisor)*>
<!ELEMENT revisor (nombre,resultado,comentarios)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT resultado (#PCDATA)>
<!ELEMENT comentario (#PCDATA)>]>
XML
Esquema Relacional-DTD
Esquema Relacional- XML Schema
Las bases de datos relacionales Suponen una posibilidad para el almacenamiento de datos XML. Sin embargo, no están bien preparadas para almacenar estructuras de tipo jerárquico como son los documentos XML:

• BD relacionales tienen una estructura regular frente al carácter heterogéneo de los documentos XML
• Documentos XML suelen contener muchos niveles de anidamiento
mientras que los datos relacionales son “planos”
• Documentos XML tienen un orden intrínseco mientras que los datos
relacionales son no ordenados
• Datos relacionales son generalmente “densos” (cada columna tiene un
valor) mientras que los datos XML son “dispersos” pueden representar la carencia de información mediante la ausencia del elemento
Reglas BDOO
Conclusión
Resultados
Ejemplo
Gestión
Reglas
BDOO
1. Cada documento XML tiene un elemento raíz (puede ser el nombre de la base de datos) que debe tener asociado un tipo complejo anónimo que incluye un elemento especial choice con un atributo maxOcurrs con valor unbounded
2. Cada clase en el esquema ODL se convierte en un elemento, con el mismo nombre, que es incluido en el elemento choicecreado en el paso anterior. A este elemento hay que asociarle un tipo complejo con un elemento especial sequence cuyo contenido se deriva de las siguientes reglas
3. Los atributos con tipos de datos básicos (string, short, date, float, etc) se traducen en elementos atómicos, con el mismo nombre, que son incluidos en la secuencia, creada en el paso anterior.
4. Para los atributos key es necesario declarar un elemento especial key como un sub-elemento del elemento resultado de la regla 1. Este elemento se caracteriza por:
Un atributo name, cuyo valor será el nombre de la clase al que pertenece la clave, más la letra K.
El atributo xpath del sub-elemento selector debe contener una expresión como .//nombre de la clase a la que pertenece el atributo clave.
El atributo xpath del sub-elemen
5A. Cada relación que contiene las palabras clave set,list o bag se convierte en un elemento con el mismo nombre, que es incluido en la secuencia creada en la regla 2, y como la cardinalidad es mayor que 1 se le debe asociar explícitamente el atributo maxOccurs con un valor unbounded.
• Este elemento incluirá un tipo de dato complejo anónimo con un elemento especial complexContent, que incluirá un elemento restriction que contiene un atributo con el nombre del atributo clave de la clase referenciada.
XML
El almacenamiento en XML para la creación de bases de datos orientadas a objetos mantienen un punto importante para hacer uso de esta herramienta: La persistencia.

Es lo que permite que los objetos existan después de que la aplicación que los procesa se haya detenido, de esa forma están a disposición del usuario cuando se activa de nuevo.
Ésta es una característica muy importante a la hora de pensar en sistemas sgml-xml orientados a objetos puesto que, en estos modelos, los documentos y sus elementos existen independientemente de que se estén ejecutando o no las aplicaciones que los procesan.
Por otra parte, hay algunos aspectos de sgml-xml que hacen difícil, aunque no imposible, comprimir en tablas un documento típico:
Los elementos de texto tienen un tamaño extremadamente variable.
Los subelementos se comparten en muchas ocasiones.
Frecuentemente existe la necesidad de navegar a través de relaciones jerárquicas.
El uso de sgml, y sobre todo de xml (y sus especificaciones), está aumentando espectacularmente en la gestión de aplicaciones multimedia: Smil.
Bases de Datos Orientadas a Objetos
Esquema Orientado a Objetos a un documento XML
Reglas BDOO
5B. Se declarará un elemento especial Keyref como un sub-elemento del elemento que ha resultado de la regla 1. Este elemento tendrá un atributo name con el nombre de la clase a la que pertenece la relación+Ref+nombre de la clase con la que se relaciona. un atributo refer cuyo valor es el nombre del elemento clave de la clase referenciada el atributo xpath del sub-elemento selector tendrá como valor .//nombre de la clase a la que pertenece la relación/nombre de la relación el atributo xpath del sub-elemento field
6. Cada relación que no contiene set, list o bag se convierte en un elemento con el mismo nombre. La traducción es similar a la expresada en la regla anterior, con algunas excepciones:
• el atributo maxOccurs, con valor unbounded no debería emplearse en la declaración del elemento keyref
• el atributo xpath del elemento selector contendrá el nombre de la clase a la que pertenece la relación
• el atributo xpath del elemento fieldcontendrá el nombre de la relación
7. Cada atributo de una clase de tipo list se convierte en un elemento, con el mismo nombre, que es incluido en el elemento sequence que resulta de la regla 2. Este elemento incluye un tipo de datos simple anónimo que debe incluir un elemento list con un atributo itemType cuyo valor puede ser definido por los usuarios o asignado por defecto.
Genérica
Considera toda la información del documento como objetos de clases predefinidas interconectadas mediante enlaces que preservan la estructura
del documento XML
Consulta y Procesamiento
Una vez transformado el documento XML en objetos, de forma específica o genérica, los objetos ya son gestionados directamente por el SGBDOO. Dicha información se consulta acudiendo al lenguaje de consulta OQL. Los mecanismos de indexación, optimización, procesamiento de consultas, etc. son las del propio SGBDOO, y por lo general, no son específicos para el modelo XML
XQuery
Gracias por su Atención!!!
Lenguaje de consulta diseñado para escribir consultas sobre colecciones de datos expresadas en XML.
Una consulta en XQuery es una expresión que lee una secuencia de datos en XML y devuelve como resultado otra secuencia de datos en XML
Sus principales aplicaciones se resumen en tres:
• Recuperar información a partir de conjuntos de datos XML. Permite filtrar los nodos que interesan de un documento XML y transformarlos para mostrar la información deseada con la estructura adecuada.
• Transformar unas estructuras de datos XML en otras estructuras que organizan la información de forma diferente.
• Ofrecer una alternativa a XSLT para realizar transformaciones de datos en XML a otro tipo de representaciones, como HTML o PDF.
Obtener todos los elementos “libro” hijos del elemento “bib” en el documento
“bib.xml”
Full transcript