NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es

Tratamiento de XML en Android: introducción

Post Series: Tratamiento de XML con SAX y DOM

XML es uno de los formatos más utilizados para intercambiar información entre aplicaciones de diferentes plataformas. Son ficheros de texto donde los campos o elementos de información que contienen se delimitan mediante pares de etiquetas. Para parsear esos documentos, es decir, para poder leerlos y tratarlos, empleamos principalmente dos modelos: SAX y DOM.

En esta nueva serie de tutoriales vamos a ver estos dos modelos, haciendo hincapié en el tratamiento del DOM, a través del desarrollo de un proyecto.

Antes, en esta publicación, vamos a comenzar definiendo qué es XML, viendo algunas de sus características principales y describiendo un ejemplo práctico y algunos de los elementos que lo forman.

XML (Lenguaje de Etiquetado Extensible)

La idea de los lenguajes de etiquetado (o de marcas) que permitían almacenar documentos de información de forma estructurada surge con el Lenguaje de Etiquetado General (GML) desarrollado por IBM. Este fue origen del estandar SGML a partir del cual, la W3C desarrolló las especificaciones del XML (eXtensible Markup Language).

Gran parte de su éxito, radica en que es un estándar abierto que permite almacenar y organizar cualquier clase de información en un formato ajustado a las necesidades particulares de un entorno o contexto concreto (por ejemplo tratar específicamente libros de literatura general o documentación técnica o información logística -pedidos, facturas,…- o de cualquier otro ámbito de actividad). Está pensado como un sistema de intercambio de información completamente abstracto e independiente de cualquier plataforma y origen, pudiendo por ejemplo utilizarlo entre gestores de bases de datos distintos implementados en sistemas operativos diferentes.

Desde un punto de vista más técnico, se trata de un meta-lenguaje, es decir, un lenguaje que nos permite describir y definir otros lenguajes de marcado, que  sean adecuados a unos objetivos o usos determinados. Hablamos por tanto de una especificación, un conjunto de reglas, más que de un lenguaje concreto. Hay muchos ejemplos conocidos de lenguajes/formatos basados en XML, como XHTML, SVG, MathML, RSS ó RDF.

Los archivos de este tipo tendrán una extensión .xml y un tipo de MIME  «application/xml, text/xml» (MIME es el estándar para el intercambio de todo tipo de archivos a través de internet)

Entre sus características más destacadas, podemos citar algunas como:

  • Cuando hablamos de lenguaje de marcas extensible, nos referimos a que es posible modificar y actualizar continuamente la estructura de nodos del documento, añadiendo nuevas etiquetas, siempre y cuando se mantenga una jerarquía de etiquetas de apertura y cierre correcta.
  • Estructura fácilmente legible e interpretable, tanto por personas como programas ya que tiene una sintaxis simple y una estructura no ambigua.
  • Se puede analizar un documento XML utilizando un parser (analizador) estándar genérico, gracias a que lleva a asociado una definición de tipo de documento (DTD), que veremos más adelante, y que define su estructura y sintaxis.
  • Orientado al contenido y no a su forma de presentación.
  • Al tratarse de un lenguaje derivado de SGML, define además de la extensibilidad, las características de validación y estructuración (partes bien definidas).

Vamos a ver más en detalle la estructura de un documento XML bien formado. Para ello, emplearemos un ejemplo básico que mostramos a continuación, donde describimos las partes que lo forman. Es conveniente resaltar que todo componente de un documento es un objeto, y que a cada objeto del árbol se le denomina nodo:

Documento XML

Como se puede apreciar en la imagen anterior, el ejemplo estaría formado por:

(1) Un prólogo (opcional), en el que se especifica que se trata de un documento XML y del tipo de codificación utilizado (en este caso UTF-8 para representar un carácter Unicode o identificador único). Dentro de este prólogo se podrá establecer un DTD que describe los elementos, atributos, notaciones y entidades para utilizar en el documento, o un esquema XML, similar a un DTD, pero que permite asociar tipos de datos con elementos.

Ejemplo de DTD interno:

Ejemplo de creación de esquema XML:

Ejemplo de documento XML asignado al XML esquema:

(2) Elemento o nodo raíz (obligatorio), que formará el cuerpo del documento, y que englobará al resto de elementos hijos declarados. Dicho elemento será padre del resto de elementos, y sólo es posible establecer un elemento raíz por documento XML.

(3) Elementos hijos o nodos rama del elemento raíz, que a su vez estarán formados por nodos hijos (nodo final o también llamado hojas), donde se establecen las cadenas de texto. Para añadir un atributo al elemento declarado (información extra sobre el elemento donde se implemente), bastará con definirlo de la siguiente manera:

De forma breve, se comentarán algunas normas para crear un documento XML bien formado, y poder validar sintácticamente la construcción del documento:

  • Si utilizamos nombres compuestos, estos deberán ir juntos o separados por «_».
  • No comenzar un elemento con un número (utilizar un carácter o «_»).
  • Al tratarse de un estándar sensible a las mayúsculas, la primera letra de cada elemento se deberá escribir en mayúscula.
  • No utilizar tildes o el carácter «ñ» para la construcción de etiquetas si se utiliza la codificación UTF-8 (para ese caso es preferible el uso de ISO-8859-1).

Desde un punto de vista más visual, en el siguiente diagrama (pincha para ampliar imagen) podemos apreciar la estructura de árbol de los nodos de un documento XML, dónde destaca principalmente la estructura jerárquica, en la que todos los nodos pertenecientes al nodo raíz son hijos de este:

Arbol XML

Hay numerosa documentación sobre XML en la Web, donde puedes ampliar información. Te hemos seleccionado algunos ejemplos:

En el siguiente tutorial, se describirán las principales interfaces y métodos que intervienen en la gestión de nodos de un documento XML.

This Post Has One Comment

Comments are closed.