usabilidadweb.com.ar

Diseño natural, usable, seguro, accesible

Proceso XML: DOM y SAX desde Java y PHP

© Carlos D. González - Update: Feb - 2012
Contacto: usabilidadweb @ usabilidadweb.com.ar

Si se trabaja con información representada en XML, necesitará usar herramientas para analizar XML y acceder, tratar, transformar los datos que contiene. Para ello se utilizan componentes que suelen ofrecen los 2 APIs estandarizados: SAX y DOM. Un analizador XML ofrece los servicios de serializar y deserializar documentos XML, entre la forma serie (textual) y la forma no serie seleccionada por el programador: una estructura de datos o un conjunto de llamadas a métodos, uno por cada componente del documento. Estos mecanismos de serialización y deserialización se utilizan también para construir RPC con datos en XML sobre transporte HTTP.

SAX y DOM

Desarrolle Profesionalmente
Incorpore las herramientas necesarias para desarrollar en:

Java, JSP y MySQL.
Java, JSP y PostgreSQL.
PHP 5 y MySQL.
PHP 5 y PostgreSQL.

Desarrolle Productos Tecnológicos útiles, para cualquier disciplina, basados en XML.

Muchas aplicaciones utilizan XML para diversos propósitos:

  • Presentación: La separación entre contenido, los datos, y presentación. Por ejemplo los datos de una reserva de avión se han de presentar en XHTML para un cliente web, en WML para un dispositivo móvil, o en PDF si se va a imprimir.
  • Comunicación: Entre aplicaciones sin que el formato esté ligado a ninguna presentación. En muchas ocasiones comunidades de organizaciones o empresas de un cierto sector definen un vocabulario XML común para la interacción entre todos ellos como por ejemplo, documentos como pedidos, facturas, etc. (e-business).
  • Interacción: Intercambio de documentos XML en forma de llamada a función remota como XMLRPC SOAP en que dos componentes intercambian documentos XML que invocan una operación remota.
  • Configuración: Para guardar datos de configuración de las aplicaciones, como hace Apache, Tomcat Enterprise Java Beans (EJB), etc..

Desarrollos de Negocios
Distribuya canales Semánticos de Servicios y Productos.
Aumente fuertemente el grado de localización de sus contenidos.
Mantenga canales de información activos para sus clientes.

Implemente Web Services y APIs.

Estructura de archivos y URI para la Web Semántica.

Desarrolle Aplicaciones externas, que semanticen sus contenidos, sin necesidad de tocar sus datos actuales.

SAX (Simple API for XML) funciona por eventos y métodos asociados. A medida que el analizador va leyendo el documento xml y encuentra (los eventos) los componentes del documento 1 (elementos, atributos, valores, etc) o detecta errores, va invocando a las funciones que ha asociado el programador.

DOM (Document Object Model) Mientras que SAX ofrece acceso a cada fragmento del documento XML tal como se va leyendo, DOM proporciona una representación de un documento XML en forma de árbol. El árbol se puede recorrer y transformar.

El principal inconveniente es también el árbol:

  • Sólo se accede a los datos una vez se han leído todos.
  • El árbol es un objeto cargado en memoria; esto es problemático para documentos grandes y complejos.

Desarrolle Profesionalmente
Estudio Avanzado de XML y Tecnologías asociadas.
Desarrollo de Aplicaciones XML.
XML y Bases de Datos.
XML con PHP 5 y Java.
Middleware.

Desarrolle Productos Tecnológicos útiles, para cualquier disciplina, basados en XML.

Las aplicaciones que se basan en la transformación de documentos XML, también pueden recurrir a un procesador para transformar documentos XML según las reglas e instrucciones de XSLT, de forma que la transformación de un documento XML se rige por un programa XSL, en lugar de escribir un programa que lo haga.

Luego del estudio de SAX y DOM se crearán programas en Java y PHP 5 para acceso y procesamiento XML. Estos temas tienen una importancia extrema, vinculada directamente con la importancia del mismo tenor que tiene XML. Ud. comprobará que no será posible el uso de XML sin estas herramientas.




Página del Autor de Usabilidad web |

Stds W3C, PHP, MySQL, PostgreSQL, SQLite ...
Desarrollo de software basado en web
Desarrollo de software en C++, JAVA y PYTHON
Consultor independiente: Usabilidad, AI, y Estándares web W3C
Cursos en Buenos Aires, Argentina
http://www.usabilidadweb.com.ar/