Android de la A a la Z - Unidad 5

10
Android de la A a la Z Unidad 5 “XML y Android” ¿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. 1

description

by Jorge Ulises Gonzalez Medina

Transcript of Android de la A a la Z - Unidad 5

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

Android de la A a la Z

Unidad 5 “XML y Android”

¿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.

SGML

XML

HTML

XHTML

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.

1

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

Android de la A a la Z

Unidad 5 “XML y Android”

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

a los distintos sistemas

2

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

Android de la A a la Z

Unidad 5 “XML y Android”

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):

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

3

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

Android de la A a la Z

Unidad 5 “XML y Android”

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:

4

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

Android de la A a la Z

Unidad 5 “XML y Android”

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”.

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.

5

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

Android de la A a la Z

Unidad 5 “XML y Android”

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> <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>

6

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

Android de la A a la Z

Unidad 5 “XML y Android”

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 “&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” />

7

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

Android de la A a la Z

Unidad 5 “XML y Android”

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.

8