O Simple API for XML (SAX) é um protocolo de acesso serial para XML. O SAX é uma API acionada por eventos que você pode usar em programas Java registrando um manipulador de documentos com um analisador SAX. Depois do registro, o analisador chama os métodos de retorno de chamada sempre que encontra uma nova marca XML, erro ou outra condição especial.
A abordagem do IDE para gerar manipuladores de documento SAX possui os seguintes benefícios:
Desacopla corretamente a lógica de distribuição gerada do analisador a partir da lógica da aplicação.
Ela desacopla corretamente a lógica de análise do tipo de dados da manipulação da aplicação. As bibliotecas de análise de tipo de dados podem ser reutilizadas.
Ela simplifica as atualizações de código quando você atualiza DTD. Você pode gerar novamente os analisadores e os manipuladores sem perder as personalizações anteriores.
Usando SAX com o IDE
Você geralmente usa o protocolo SAC com servlets e programas orientados à rede. O SAX é o mecanismo mais rápido e que consome menos memória disponível ao trabalhar com documentos XML. Se estiver escrevendo uma aplicação que exiba e possivelmente modifique um documento XML, talvez prefira usar o mecanismo DOM.
Antes de gerar um manipulador de documentos SAX que leia arquivos XML, você deve definir um DTD para os arquivos que deseja manipular. O IDE usa DTD para gerar os seguintes arquivos:
Interface do manipulador. A interface que contém os métodos que o analisador gerado chama ao analisar o documento XML. Você pode especificar os elementos para os quais o IDE gera métodos de manipulador. O IDE gera um método handle_elementName para elementos de conteúdo e um par de métodos start_elementName e end_elementName para elementos de contêiner.
Implementação do manipulador. Uma implementação de amostra da interface do manipulador com código esqueleto de cada método da interface. Adicione a lógica de conversão aqui.
Analisador gerado. O analisador usado para analisar os arquivos XML. Se gerar o manipulador de documento usando a versão 1.0 do SAX , o analisador gerado implementa org.xml.sax.DocumentHandler. Se usar a versão 2.0 do SAX, o analisador implementa org.xml.sax.ContentHandler. O analisador traduz e normaliza a saída do analisador SAX e chama apropriadamente os métodos de implementação do manipulador ou os métodos de deployment do conversor de dados.
(Opcional)Interface do conversor de dados. Uma interface que define os métodos para converter a saída da string do analisador gerado. Os métodos convertem a saída em tipos de dados qualificados. O analisador gerado passa a saída convertida para o manipulador.
(Opcional)Implementação do conversor de dados. Uma implementação de amostra da interface do conversor de dados. A implementação contém código esqueleto para cada método da interface. Adicione a lógica de conversão aqui.
Para obter um tutorial sobre o acesso serial com o SAX, consulte: