El XML es un lenguaje de marcas basado en texto el cual se ha convertido rápidamente en el estándar para el intercambio de datos en la Web, de forma similar al HTML en XML se identifican los datos usando etiquetas, a diferencia de las etiquetas HTML, las etiquetas XML indican el significado de los datos, en lugar de cómo deben ser mostrados. De la misma forma en que se definen nombres para los campos en una estructura de datos, se puede utilizar cualquier etiqueta XML para una aplicación dada o compartir el XML entre muchas aplicaciones. Para que las aplicaciones puedan utilizar XML surge la necesidad de crear un proceso de interpretación llamado parseo, en el cual se descifra una secuencia de símbolos con el fin de delimitar su estructura gramatical teniendo en cuenta la gramática formal dada. Este proceso es conocido como análisis de sintaxis, para el caso de XML este formato se encuentra estandarizado, lo que permite utilizar un mismo parseador cada vez que se hace un programa facilitando la creación de API´s (conjuntos de librerías) dedicadas a la tarea del parseo, en el caso de JAVA se encuentran muchas alternativas, entre las más usadas están: JDOM, XERCES y SAX que permiten realizar la tarea de búsqueda al interior de un XML de una forma más o menos estándar, lo que da lugar a preguntar si es posible mejorar estos procesos con la implementación de una herramienta genérica como un Framework. El término framework, hace referencia a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. Un framework es considerado una aplicación genérica, configurable e incompleta a la que se pueden adaptar otras piezas para construir una aplicación concreta y definida. Las ventajas ofrecidas por el uso de un framework son: acelerar el proceso de desarrollo, reutilización de código y promover mejores prácticas de desarrollo como el uso de patrones.