Funcionamiento del API SAX
Artículo por Club Developers · 25 May 2006
2512 vistas
Arquitectura de una aplicación que usa SAX:
Para empezar, la aplicación recupera un parser (javax.xml.parsers.SAXParser) a partir de una factory de parsers (javax.xml.parsers.SAXParserFactory).
Este parser recorre el documento XML gracias a un lector (org.xml.sax.XMLReader). Éste contiene varios gestionadores (o handlers). Son estos gestionadores los que se encargan de tratar los "eventos" durante el parseo. Veamos los cuatro tipos de handlers principales (interfaz del package org.xml.sax) :
Para empezar, la aplicación recupera un parser (javax.xml.parsers.SAXParser) a partir de una factory de parsers (javax.xml.parsers.SAXParserFactory).
Este parser recorre el documento XML gracias a un lector (org.xml.sax.XMLReader). Éste contiene varios gestionadores (o handlers). Son estos gestionadores los que se encargan de tratar los "eventos" durante el parseo. Veamos los cuatro tipos de handlers principales (interfaz del package org.xml.sax) :
- Handler de contenido: el ContentHandler se encarga de los eventos como el inicio o el fin del documento, la obertura o cierre de etiquetas o la lectura de carácteres.
- Handler de errores: el ErrorHandler tratará los tres tipos de errores posibles durante el parseo: los errores simples, los errores fatales y los warnings.
- Handler de DTD: el DTDHandler (Document Type Definition) gestiona los eventos relativos al DTD.
- Handler de entidades externas: el EntityResolver se encarga de gestionar las entidades externas, dando un InputSource adecuado.