Funcionamiento del API SAX

2515 vistas

Arquitectura de una aplicación que usa SAX:

Imagen Enviada


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.