As3 unidad 10 trabajando con xml

18
Trabajando con XML Trabajando con XML Unidad 10 Unidad 10

description

 

Transcript of As3 unidad 10 trabajando con xml

Page 1: As3 unidad 10 trabajando con xml

Trabajando con XMLTrabajando con XML

Unidad 10Unidad 10

Page 2: As3 unidad 10 trabajando con xml

ObjetivosObjetivos Entender la estructura básica de un archivo Entender la estructura básica de un archivo

XMLXML Entender cómo se puede utilizar un archivo Entender cómo se puede utilizar un archivo

XML en un archivo en un proyectoXML en un archivo en un proyecto Crear un objeto XML con ASCrear un objeto XML con AS Utilizar un objeto URLLoader para cargar un Utilizar un objeto URLLoader para cargar un

archivo XMLarchivo XML Responder a los eventos COMPLETE y ERROR Responder a los eventos COMPLETE y ERROR

en la carga de un archivoen la carga de un archivo Acceder a los datos de un archivo XMLAcceder a los datos de un archivo XML Utilizar los datos del XML para la aplicaciónUtilizar los datos del XML para la aplicación

Page 3: As3 unidad 10 trabajando con xml

Historia delHistoria del XML XML

XMLXML proviene de un lenguaje inventado por proviene de un lenguaje inventado por IBMIBM en los años setenta, llamado GML (en los años setenta, llamado GML (Generalized Generalized Markup LanguageMarkup Language), que surgió por la necesidad ), que surgió por la necesidad que tenía la empresa de almacenar grandes que tenía la empresa de almacenar grandes cantidades de información. Este lenguaje gustó a cantidades de información. Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML (normalizarlo, creando SGML (Standard Standard Generalized Markup LanguageGeneralized Markup Language), capaz de ), capaz de adaptarse a un gran abanico de problemas. adaptarse a un gran abanico de problemas.

En el año 1989 Tim Berners Lee creó la web, y En el año 1989 Tim Berners Lee creó la web, y junto con ella el lenguaje HTML. Este lenguaje se junto con ella el lenguaje HTML. Este lenguaje se definió en el marco de SGML y fue de lejos la definió en el marco de SGML y fue de lejos la aplicación más conocida de este estándar. aplicación más conocida de este estándar.

Page 4: As3 unidad 10 trabajando con xml

Estructura XMLEstructura XML La tecnología XML busca dar solución al problema La tecnología XML busca dar solución al problema

de expresar información de la manera más de expresar información de la manera más estructurada y reutilizable posible. Que la estructurada y reutilizable posible. Que la información sea estructurada quiere decir que se información sea estructurada quiere decir que se compone de partes bien definidas. Entonces se compone de partes bien definidas. Entonces se tiene un árbol de pedazos de información. Estas tiene un árbol de pedazos de información. Estas partes se llaman partes se llaman elementoselementos, y se las señala , y se las señala mediante etiquetas.mediante etiquetas.

Una etiqueta consiste en una marca hecha en el Una etiqueta consiste en una marca hecha en el documento, que señala una porción de éste como documento, que señala una porción de éste como un elemento. Un pedazo de información con un un elemento. Un pedazo de información con un sentido claro y definido. Las etiquetas tienen la sentido claro y definido. Las etiquetas tienen la forma forma <nombre><nombre>, donde , donde nombrenombre es el nombre es el nombre del elemento que se está señalando.del elemento que se está señalando.

Page 5: As3 unidad 10 trabajando con xml

EjemploEjemplo

<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?><songlist><songlist>

<song><song><file>../MP3s/TapTouch.mp3</file><file>../MP3s/TapTouch.mp3</file><name>Tap Touch</name><name>Tap Touch</name><artist>Jonathan Keezing</artist><artist>Jonathan Keezing</artist><album>Taptouch</album><album>Taptouch</album><!-- All songs ® copyrght Passion Records --<!-- All songs ® copyrght Passion Records --

>><!-- www.passionrecords.com --><!-- www.passionrecords.com -->

<itunes> http://phobos.apple.com/</itunes><itunes> http://phobos.apple.com/</itunes></song></song>

</songlist></songlist>

Page 6: As3 unidad 10 trabajando con xml

Un documento XML Un documento XML “bien formado”“bien formado”

Los documentos denominados como "Los documentos denominados como "bien bien formadosformados" (del inglés " (del inglés well formedwell formed) son ) son aquellos que cumplen con todas las aquellos que cumplen con todas las definiciones básicas de formato y pueden, definiciones básicas de formato y pueden, por lo tanto, analizarse correctamente por por lo tanto, analizarse correctamente por cualquier analizador sintáctico (cualquier analizador sintáctico (parserparser) ) que cumpla con la norma. que cumpla con la norma.

Los Los documentos han de seguir una documentos han de seguir una estructuraestructura estrictamente jerárquica con estrictamente jerárquica con lo que respecta a las etiquetas que lo que respecta a las etiquetas que delimitan sus elementos. delimitan sus elementos.

Page 7: As3 unidad 10 trabajando con xml

Un documento XML Un documento XML “bien formado”“bien formado”

Una etiqueta debe estar Una etiqueta debe estar correctamente incluida en otra, es correctamente incluida en otra, es decir, las etiquetas deben estar decir, las etiquetas deben estar correctamente anidadas. Los correctamente anidadas. Los elementos con contenido deben elementos con contenido deben estar correctamente cerrados. estar correctamente cerrados.

Los documentos XML sólo permiten un Los documentos XML sólo permiten un elemento raíz del que todos los demás elemento raíz del que todos los demás sean parte, es decir, solo pueden tener sean parte, es decir, solo pueden tener un elemento inicial. un elemento inicial.

Page 8: As3 unidad 10 trabajando con xml

Un documento XML Un documento XML “bien formado”“bien formado”

Los valores atributos en XML siempre deben Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles. estar encerrados entre comillas simples o dobles.

El XML es sensible a mayúsculas y minúsculas. El XML es sensible a mayúsculas y minúsculas. Existe un conjunto de caracteres llamados Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, espacios en blanco (espacios, tabuladores, retornos de carro, saltos de línea) que los retornos de carro, saltos de línea) que los procesadores XML tratan de forma diferente en procesadores XML tratan de forma diferente en el marcado XML. el marcado XML.

Es necesario asignar nombres a las estructuras, Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen particulares, etc. En XML los nombres tienen alguna característica en común. alguna característica en común.

Page 9: As3 unidad 10 trabajando con xml

Partes de un archivo XMLPartes de un archivo XML

La primera línea de un archivo XML La primera línea de un archivo XML contiene una etiqueta de declaración que contiene una etiqueta de declaración que indican la versión del XML del archivo y el indican la versión del XML del archivo y el tipo de codificación del mismo:tipo de codificación del mismo:<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>

Los comentarios dentro de un archivo XML Los comentarios dentro de un archivo XML se hacen como los de HTML:se hacen como los de HTML:

<!-- All songs ® copyrght Passion Records --<!-- All songs ® copyrght Passion Records -->><!-- www.passionrecords.com --><!-- www.passionrecords.com -->

Page 10: As3 unidad 10 trabajando con xml

Partes de un archivo XMLPartes de un archivo XML

Para AS debe tener un par de Para AS debe tener un par de etiquetas principales. Una etiqueta etiquetas principales. Una etiqueta está formada por un nombre rodeado está formada por un nombre rodeado de un símbolo “menor que” y cerrado de un símbolo “menor que” y cerrado con “mayor que”:con “mayor que”:

<songlist><songlist> Toda etiqueta debe tener su etiqueta Toda etiqueta debe tener su etiqueta

de cierre:de cierre:

<songlist>…</songlist><songlist>…</songlist>

Page 11: As3 unidad 10 trabajando con xml

Partes de un archivo XMLPartes de un archivo XML

Un conjunto de etiqueta de apertura Un conjunto de etiqueta de apertura y cierre se llama “nodo” o y cierre se llama “nodo” o “elemento”.“elemento”.

Un archivo XML es una jerarquía de Un archivo XML es una jerarquía de nodos.nodos.

Un nodo superior en la jerarquía se le Un nodo superior en la jerarquía se le llama “padre” y a los nodos dentro llama “padre” y a los nodos dentro de su jerarquía se le llaman “hijos”.de su jerarquía se le llaman “hijos”.

Page 12: As3 unidad 10 trabajando con xml

Crear instancias de elementos Crear instancias de elementos XML y URLLoaderXML y URLLoader

Para almacenar datos XML necesitamos Para almacenar datos XML necesitamos crear un elemento XML. Pertenece a la crear un elemento XML. Pertenece a la clase XML (pertenece a las clases “core”), clase XML (pertenece a las clases “core”), por ejemplo:por ejemplo:

var songList_xml:XML = new XML();var songList_xml:XML = new XML(); Para cargar un archivo se necesita un Para cargar un archivo se necesita un

objeto URLoader:objeto URLoader:var xmlLoader:URLoader = new URLLoader()var xmlLoader:URLoader = new URLLoader()

Se carga un archivo con el método load():Se carga un archivo con el método load():xmlLoader.load(new URLRequest(“songList.xml”));xmlLoader.load(new URLRequest(“songList.xml”));

Page 13: As3 unidad 10 trabajando con xml

Responder a los eventos Responder a los eventos COMPLETE y IO_ERRORCOMPLETE y IO_ERROR

El evento COMPLETE se dispara cuando el El evento COMPLETE se dispara cuando el archivo se terminó de leer. Este evento archivo se terminó de leer. Este evento pertenece a la clase Event.pertenece a la clase Event.

Si hubo un error en el proceso de lectura, Si hubo un error en el proceso de lectura, se generará un evento IO_ERROR, el cual se generará un evento IO_ERROR, el cual pertenece a la clase IO_ERROR_EVENT.pertenece a la clase IO_ERROR_EVENT.

Una vez leída la información, debemos Una vez leída la información, debemos pasarla al formato XML:pasarla al formato XML:

songList_xml = new XML(xmlLoader.data)songList_xml = new XML(xmlLoader.data)

Page 14: As3 unidad 10 trabajando con xml

Leer los elementos de un Leer los elementos de un objeto XMLobjeto XML

Un objeto XML puede ser interpretado Un objeto XML puede ser interpretado como un “arreglo”. A esta propiedad se le como un “arreglo”. A esta propiedad se le conoce como XMLListconoce como XMLList

En el ejemplo del archivo, se tendría un En el ejemplo del archivo, se tendría un arreglo con 12 nodos.arreglo con 12 nodos.

Para acceder a uno de estos nodos, Para acceder a uno de estos nodos, debemos escribir el nombre del objeto xml debemos escribir el nombre del objeto xml que tiene la información, y posteriormente que tiene la información, y posteriormente el nombre del nodo que tiene la el nombre del nodo que tiene la información (no el nodo raíz):información (no el nodo raíz):

songList_xml.song[n]songList_xml.song[n]

Page 15: As3 unidad 10 trabajando con xml

Leer los elementos de un Leer los elementos de un objeto XMLobjeto XML

Para acceder al valor de un subnodo, Para acceder al valor de un subnodo, se escribe como propiedad, por se escribe como propiedad, por ejemplo:ejemplo:

songList_xml.song[0].namesongList_xml.song[0].name Para leer un atributo, se utiliza el Para leer un atributo, se utiliza el

punto y la arroba con el nombre del punto y la arroba con el nombre del atributo, por ejemplo:atributo, por ejemplo:

songList_xml.song[0].@idsongList_xml.song[0].@id

Page 16: As3 unidad 10 trabajando con xml

Indexación de elementosIndexación de elementos

Para indexar elementos, se utilizarán dos Para indexar elementos, se utilizarán dos variables: una para indicar “la página” variables: una para indicar “la página” (variable “larga”) y otra para indicar el (variable “larga”) y otra para indicar el lugar dentro de la página (variable lugar dentro de la página (variable “corta”).“corta”).

Por ejemplo: Si queremos acceder al Por ejemplo: Si queremos acceder al elemento “18” de un arreglo, la variable elemento “18” de un arreglo, la variable larga podría estar en 14 y la variable corta larga podría estar en 14 y la variable corta en 4:en 4:

18 = 14 + 418 = 14 + 4

Page 17: As3 unidad 10 trabajando con xml

Saltos a otras páginas Saltos a otras páginas en AS3.0en AS3.0

Para saltar a otra página, utilizamos Para saltar a otra página, utilizamos la función global “navigateToURL()”la función global “navigateToURL()”

Sus parámetros principales son: un Sus parámetros principales son: un objeto URLRequest y el tipo de objeto URLRequest y el tipo de ventana donde se abrirá él nuevo ventana donde se abrirá él nuevo elemento:elemento:navigateToURL(new URLRequest(link), “_blank”)navigateToURL(new URLRequest(link), “_blank”)

Por omisión, el nuevo elemento Por omisión, el nuevo elemento aparece en “_self”aparece en “_self”

Page 18: As3 unidad 10 trabajando con xml

Preguntas de revisiónPreguntas de revisión

¿Cuál es otro nombre para las etiquetas XML?¿Cuál es otro nombre para las etiquetas XML? ¿Cuál es la clase principal para trabajar con ¿Cuál es la clase principal para trabajar con

XML?XML? ¿Con cuál clase se pueden cargar elementos ¿Con cuál clase se pueden cargar elementos

externos, por ejemplo, archivo XML?externos, por ejemplo, archivo XML? Nombra y describe tres eventos de la clase Nombra y describe tres eventos de la clase

URLLoader.URLLoader. ¿Cómo accede AS3.0 a los elementos de un ¿Cómo accede AS3.0 a los elementos de un

objeto XML?objeto XML?