"android de la a a la z" -- unidad 5

8

Click here to load reader

Upload: android-unam

Post on 13-Jun-2015

1.146 views

Category:

Documents


0 download

DESCRIPTION

***Proyecto PAPIIT IN102210***UNAM. Facultad de Ingeniería.Integrantes:JUAN JOSE CARREON J. ULISES GONZALEZ MEDINAANA LAURA GARCÍA ACOSTA OMAR SIBAJA BAUTISTA ROBERTO SOSA HIGAREDA

TRANSCRIPT

Page 1: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

1 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

¿Qué es XML?

El lenguaje eXtensible Markup Language, XML, es una tecnología o lenguaje de etiquetado útil para una

serie de tareas informáticas algunas relacionadas con la programación en ciertos lenguajes de

programación, por ejemplo Java. XML no es sólo un lenguaje, es una forma de especificar lenguajes

(metalenguaje), de ahí lo de extensible.

XML fue creado al amparo del Word Wide Web Consortium (W3C) organismo que vela por el desarrollo de

WWW. Su desarrollo se comenzó en 1996 y la primera versión salió a la luz el 10 de febrero de 1998.

Para entenderlo bien hay que olvidarse un poco, sólo un poco de HTML. En teoría HTML es un subconjunto

de XML especializado en presentación de documentos para la Web, mientras que XML es un subconjunto

de SGML especializado en la gestión de información para la Web. En la práctica XML contiene a HTML

aunque no en su totalidad. La definición de HTML contenido totalmente dentro de XML y por lo tanto que

cumple del todo la especificación SGML es XHTML (Extensible, Hypertext Markup Language).

Por tanto, no debe uno pensarse que XML es para crear páginas web, o algo parecido a las páginas web.

XML es un lenguaje que cambia el paradigma de programación: de basada en funciones u objetos a la

programación basada en el documento.

XML se puede usar para cambiar totalmente el paradigma de publicación; de un programa que recibe unas

entradas y produce unas salidas, se pasa a un documento que genera otro documento, o bien programas

que toman documentos y producen otros documentos.

Características

Transmite contenido y estructura.

No transmite presentación ni comportamiento. Para que lo haga se le debe asociar mecanismos

adicionales.

XML aplicado a los sitios web: permite separar contenido y presentación, y que los mismos datos se

puedan mostrar de varias formas distintas sin demasiado esfuerzo.

Page 2: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

2 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

XML para la comunicación entre aplicaciones: representación de los datos muy simple, fácil de

transmitir por la red, estándar. En los últimos tiempos este uso se está haciendo muy popular con

el surgimiento de los Servicios web.

XML para la configuración de programas: representación de los datos simple y estándar, en

contraposición con los crípticos formatos propietarios.

SGML y XML especifican el contenido y la estructura, permitiendo generar distintas presentaciones según

se requiera.

Objetivos y usos de XML

El XML se creó para que cumpliera varios objetivos:

• Que fuera idéntico a la hora de servir, recibir, y

procesar la información del HTML para aprovechar toda la

tecnología implantada de este.

• Que fuera normal y conciso desde el punto de

vista de los datos y la manera de guardarlos.

• Que fuera extensible, para que lo puedan utilizar

en todos los campos del conocimiento.

• Que fuese fácil de leer y editar.

• Que fuese fácil de implantar, programar y aplicar

Page 3: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

3 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

a los distintos sistemas

Ventajas del XML

Comunicación de datos. Si la información se transfiere en XML cualquier aplicación podría escribir un

documento de texto plano con los datos que estaba manejando en formato XML y otra aplicación recibir

esta información y trabajar con ella.

Migración de datos. Si trabajamos en formato XML sería muy sencillo mover datos de una base de datos a

otra.

Aplicaciones Web. Con XML hay una sola aplicación que maneja los datos y para cada navegador podemos

tener una hoja de estilo o similar para aplicarle el estilo adecuado.

Estructura del lenguaje XML

El metalenguaje XML consta de cuatro especificaciones (el propio XML sienta las bases sintácticas y el

alcance de su implementación):

Page 4: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

4 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1. DTD (Document Type Definition):. Si queremos tener la seguridad de que un fichero XML pueda

ser perfectamente interpretado por cualquier herramienta, podemos (aunque no es obligatorio)

incluir una definición de su construcción que preceda a los datos propiamente dichos. Este

conjunto de metadatos recibe el nombre de DTD ó Definición de Tipo de Documento. Así una

herramienta es capaz de interpretar XML, eso significa que posee un analizador sintáctico (Parser)

que es capaz de contrastar la definición dada por el autor del documento contra la especificada por

la normativa, indicando si hay errores, y, de no ser así, presentando el documento de la forma

adecuada.

2. XSL (eXtensible Stylesheet Language): Define o implementa el lenguaje de estilo de los

documentos escritos para XML. Desde el verano de 1997 varias empresas informáticas como

Arbortext, Microsoft e Inso vienen trabajando en una propuesta de XSL (antes llamado "xml-style")

que presentaron a W3C. Permite modificar el aspecto de un documento. Se puede lograr múltiple

columnas, texto girado, orden de visualización de los datos de una tabla, múltiples tipos de letra

con amplia variedad en los tamaños. Este estándar está basado en el lenguaje de semántica y

especificación de estilo de documento (DSSSL, Document Style Semantics and Specification

Language, ISO/IEC 10179) y, por otro lado, se considera más potente que las hojas de estilo en

cascada (CSS, Cascading Style Sheets), usado en un principio con el lenguaje DHTML. "Se espera que

el CSS sea usado para visualizar simples estructuras de documentos XML (actualmente se ha

conseguido mayor integración en XML con el protocolo CSS2 (Cascading Style Sheets, level 2)

ofreciendo nuevas formas de composición y una más rápida visualización) y, por otra parte, XSL

pueda ser utilizado donde se requiera más potencia de diseño como documentos XML que

encierran datos estructurados (tablas, organigramas, etc.).

3. XLL (eXtensible Linking Language): Define el modo de enlace entre diferentes enlaces. Se considera

que es un subconjunto de HyTime (Hipermedia/Timed-based structuring Language o Lenguaje de

estructuración hipermedia/basado en el tiempo, ISO 10744) y sigue algunas especificaciones del TEI

(Text Encoding Initiative o Iniciativa de codificación de texto). Desde marzo de 1998 el W3C trabajo

en los enlaces y direccionamientos del XML. Provisionalmente se le renombró como Xlink y a partir

de junio se le denomina XLL. Este lenguaje de enlaces extensible tiene dos importantes

componentes: Xlink y el Xpointer. Va más allá de los enlaces simples que sólo soporta el HTML.

4. XUA (XML User Agent): Estandarización de navegadores XML. Todavía está en proceso de creación

de borradores de trabajo. Se aplicará a los navegadores para que compartan todas las

especificaciones XML.

Estructura de un documento XML

Un documento XML posee los siguientes elementos:

Page 5: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

5 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

1. El prólogo puede contener la siguiente información: declaración XML (opcional en XML 1.0,

obligatoria en XML 1.1), la definición de tipo de documento (DTD), que sólo es necesario para

validar la estructura de documento, las instrucciones de procesamiento y comentarios (opcionales).

2. El contenido o elemento raíz, que también se llama el “elemento de documento".

3. Un epílogo, que contiene las instrucciones de procesamiento y los comentarios.

Las instrucciones de procesamiento permiten dar órdenes o información a una aplicación para que procese

los datos XML. Las instrucciones de procesamiento tiene el formato <? instrucciones objetivo?>, donde el

objetivo es el nombre de la aplicación que se espera que haga el tratamiento, y las instrucciones consisten

en una cadena de caracteres que representa la información o los comandos de la aplicación para procesar.

Declaración XML En general se recomienda que se inicie un documento XML con una declaración XML. Si está presente, debe

ser la primera línea en el documento. A pesar de que la declaración XML se parece a una instrucción de

procesamiento, en realidad es una simple declaración.

La declaración debe estar denotada entre los símbolos (<?) y (>?),

El único atributo que se exige en la declaración es la versión. Los atributos adicionales que se puede añadir

a la declaración XML son:

El atributo de codificación (encoding attribute), que es opcional. De forma predeterminada, los

documentos XML están codificados en UTF-8 formato del juego de caracteres Unicode.

El atributo independiente (standalone attribute) es opcional y se puede establecer con un valor

“yes”, “no” o ningún valor. Si se omite, el valor se supone como un “no”.

Page 6: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

6 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

o El valor “no” se coloca si una aplicación requiere una DTD externo para determinar la

estructura del documento.

o El valor “yes” se coloca cuando el documento no tiene DTD o si el DTD es interno.

Trabajando con XML

Al igual que otros lenguajes de marcas, XML se apoya en tres bloques fundamentales: elementos, atributos

y valores. Un elemento se emplea para describir o contener una pieza de información; un conjunto de

elementos constituye un documento XML. Los elementos consisten de dos etiquetas: una de apertura y

otra de cierre; las de apertura están constituidas por una palabra entre paréntesis angulares (<>), tales

como <resources> e <ítem>, y las de cierre también con paréntesis angulares, pero precedidas por una

barra oblicua hacia delante (/) antes del nombre de la etiqueta, por ejemplo </resources> e </ítem>. Los

elementos siempre aparecen después de una etiqueta de apertura, seguida por una serie opcional de

datos, seguidos por una etiqueta de cierre, por ejemplo:

<resources>

</resources>

Incluso en el mismo renglón:

<ítem>… … …</ítem>

En caso de etiquetas vacías:

<ítem />

Puede existir elementos vacíos, pero con atributos. Estos son pequeñas piezas de información

inmediatamente posteriores a una etiqueta de apertura. Un atributo consiste de un nombre y su valor

correspondiente, separados por un signo de igualdad (=). El valor de un atributo aparece a la derecha del

símbolo de igualdad y entrecomillado. Un ejemplo de un atributo llamado name asociado con un elemento

amigo:

<amigo name=”Juan” />

Cuando un elemento contiene otros elementos, estos se denominan elementos anidados, por ejemplo,

representar una casa en XLM puede ser:

<casa>

<cuarto tipo=”sala” >

<mueble tipo=”sofá” />

</cuarto>

Page 7: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

7 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

<cuarto tipo=”comedor”>

<mueble tipo=”vitrina”>

<contenido tipo=”jarrón” color=”blanco” />

<contenido tipo=”vajilla” marca=”Alfaro” precio=”cara” />

</mueble>

</cuarto>

<cuarto tipo=”recámara”>

<mueble tipo=”cama” />

<mueble tipo=”sillón” />

</cuarto>

</casa>

El código anterior anida elementos diferentes según su ubicación física en la casa, entre ellos algunos son

vacíos, por ejemplo, <mueble tipo=”sofá” />, empleando la etiqueta final vacía, />. Las reglas que rigen XML

son:

1. Los nombres de etiquetas son sensibles a ser mayúsculas o minúsculas.

2. A cada etiqueta de apertura corresponde una de cierre, a menos que sea una etiqueta de cierre

abreviada.

3. Un par de etiquetas anidadas no puede sobreponerse a otra.

4. Los valores de atributos deben estar entrecomillados.

5. Cada documento debe contener un elemento raíz.

Ejemplo que muestra el uso de ELEMENTOS VS ATRIBUTOS

En un documento XLM existen unos pocos símbolos especiales que deben manejarse de forma diferente a

otros caracteres: (<), (>), (“), (‘) y (&), ya que tienen un significado especial en XLM, de ahí que para

emplearlos se requieran símbolos predefinidos, denominados entidades, los cuales son como sigue:

&lt; para <

&gt; para >

&quot; para “

Page 8: "Android de la A a la Z" -- Unidad 5

Android de la A a la Z

Unidad 5 “XML y Android”

8 Elaborado por: J. Ulises González Medina [email protected] Noviembre 2011 Versión 1.2

&apos; para ‘

&amp; para &

Algunos ejemplos de su utilización son los siguientes:

<película nombre=”All the King&apos;s Men” />

<película nombre=”Pride &amp; Prejudice” />

Con todo lo mencionado previamente es fácil ahora diseñar uno de los componentes de una aplicación

Android: el documento “Manifest.xml”, el cual describe cada uno de dichos componentes, así como su

interacción.