Simple API for XML

Simple API for XML (abreviado SAX, em portugues "API simples para XML") é uma API que provê acesso serial ao conteúdo de um documento XML de forma orientada a eventos. É uma alternativa ao Document Object Model (DOM). A implementação inicial da API foi realizada em Java, mas atualmente disponível para outras linguagens (mesmo sem um padrão)..

Funcionamento

Considerando que o documento XML a seguir seja processado através do SAX:

<?xml version="1.0" encoding="utf-8"?>
  <carros>
    <popular>
      <nome fabricante="Volkswagen">Gol</nome>
      <nome fabricante="Fiat">Uno</nome>
    </popular>
    <luxo>
      <nome>Omega</nome>
    </luxo>
  </carros>

Os seguintes eventos serão relatados:

Os eventos podem variar de acordo com a implementação do SAX mas servem para ilustrar o processamento serial que é realizado pela API.

Vantagens e desvantagens

A principal vantagem do SAX é o menor gasto de memória, o que é conseguido através do processamento serial do documento. Ao contrário do DOM, que carrega todo o documento na memória, é preciso manter na memória apenas as tags externas a aquela que está sendo visitada. Outra vantagem é o processamento em fluxo, ideal para leituras contínuas no disco ou recebimento através da rede.

Já a principal desvantagem do SAX é a potencial impossibilidade de validação do mesmo através de um DTD que em certos casos só pode ser realizada se o documento estiver integralmente na memória. Outra desvantagem é a própria natureza serial que impossibilita saltos e leituras em trechos anteriores do documento.

Referências

  1. 1 2 «Simple API for XML (SAX)». IBM DeveloperWorks. Consultado em 20 de abril de 2014
  2. ↑ «Java SAX Parser Example Tutorial to parse XML to List of Objects». JournalDev. Consultado em 20 de abril de 2014
  3. 1 2 «SAX, the power API». IBM DeveloperWorks. Consultado em 20 de abril de 2014
  4. ↑ «Using the SAX API». Apache Xerces. Consultado em 20 de abril de 2014
  5. ↑ Baseado em «Events vs. Trees». saxproject.org. Consultado em 20 de abril de 2014
  6. ↑ «Lesson: Simple API for XML». The Java Tutorials. Consultado em 20 de abril de 2014
  7. ↑ A.M. Kuchling. «SAX: The Simple API for XML». Python XML Howto. Consultado em 20 de abril de 2014

Ligações externas

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.