0% acharam este documento útil (0 voto)
5 visualizações8 páginas

Introdução ao SAX para Processamento XML

Enviado por

alexlimatds
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações8 páginas

Introdução ao SAX para Processamento XML

Enviado por

alexlimatds
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

SAX

Simple API for XML Processing


Descrição
• Especificação desenvolvida por membros lista de
discussão XML-DEV criada em maio de 1998
• Lê o documento de forma seqüencial
descartando as informações a medida em que
são analisadas
• Proporciona maior desempenho
• Tipicamente utilizada para ler documentos
• Modelo de processamento baseados em eventos

2
Eventos
• Um evento é gerado assim que uma marcação
é encontrada (start tag, end tag, ...)
• Parsers baseados em SAX invocam métodos a
medida que determinados eventos ocorrem
• Programadores devem sobrescrever tais
métodos para processar o documento

3
Métodos SAX
• setDocumentLocator: invocado no início do parsing
• startDocument: invocado quando é encontrado o início de um
documento
• endDocument: invocado quando é encontrado o fim do documento
• startElement: invocado quando a tag de início de um elemento é
encontrada
• endElement: invocado quando a tag de fim de um elemento é
encontrada
• characters: invocado quando é encontrado texto
• ignorableWhitespace: invocado quando é encontrado espaço em
branco que pode ser ignorado
• processingInstruction: invocado quando é encontrada uma
instrução de processamento

4
Modelo Conceitual
• Documento XML -> SAX Parser -> eventos

Documento
XML

SAX Parser

5
Exemplo
EVENTOS gerados:
• Documento XML
1. startDocument
2. startElement (livro)
<?xml version=“1.0”?> 3. Characters (white space)
<livro> 4. startElement (titulo)
<titulo>Calculo</titulo> 5. characters (Calculo)
6. endElement (titulo)
<autor>Munem</autor> 7. characters (white space)
</livro> 8. startElement(autor)
9. characters (Munem)
10. endElement (autor)
11. characters (white space)
12. endElement(livro)
13. endDocument

6
SAX versus DOM
• DOM – padrão oficial (W3C)
• SAX – padrão de fato
• SAX descarta a informação assim que esta é processada
• Consome menos memória do que DOM e é mais
eficiente
• Não permite retroceder na estrutura do documento
• Modelo de programação mais complexo
• SAX é ideal para documentos que devem ser
processados linearmente mas não é indicado para
situações nas quais seja necessário alterar os dados e
“navegar” na estrutura do documento

7
Links
ESPECIFICAÇÃO do SAX. Disponível em:
[Link]

Tutorial J2EE. Disponível em:


[Link]

JAXP Using SAX. Disponível em:


[Link]
[Link]

XML API: DOM e SAX. Disponível em:


[Link]
004.1/[Link]
8

Você também pode gostar