Processamento de dados XML
César Vittori
[email protected]
Outubro de 2000
Resumo
Considerações no desenvolvimento de software para processar dados XML. Processamento de uma DTD para interpretar marcação XML.
Leitura e escrita de documentos XML.
–Processamento de dados XML–
Introdução
XML é um formato de dados eletrônico
– um aplicativo deve ter a capacidade de ler e escrever dados XML facilmente
Considerações:
– geração de dados XML
geração de caracteres especiais
– interpretação de dados XML
interpretação dos caracteres especiais
processamento de uma DTD
–Processamento de dados XML–
1
Geração de dados XML
As linguagens de programação possuem características para geração de
dados
PRINT #FileNum “<para>Este é um parágrafo.</para>”
Para gerar dados XML somente é necessário adicionar a informação de
marcação nos dados sendo gerados
– tags são incluídas no string de saída
–Processamento de dados XML–
2
Geração de dados XML (cont.)
Geração de códigos de “retorno de carro”
– gerar quando o documento é visualizado ou editado por um software
que não suporta XML
– dificuldade para o aplicativo receptor determinar quais “CR” pertencem
aos dados em si, e quais foram adicionados somente para fazer o conteúdo legível
Alternativa: omitir códigos
– o aplicativo receptor deve executar um parsing para interpretar os dados
–Processamento de dados XML–
3
Interpretação de dados XML
Características da linguagem de programação
– incorporar bibliotecas com funcionalidades especiais para tratamento
de dados XML (exemplo: parser )
Considerações devem ser tidas em conta na leitura
–
–
–
–
espaços brancos (white spaces)
entidades
processamento de atributos
processamento de uma DTD
–Processamento de dados XML–
4
Processamento de uma DTD
Adicionar informação default
– é possível definir na DTD valores default para atributos que não aparecem em uma instância de dados
Validação de instâncias
– a DTD define a estrutura que devem possuir as instâncias XML
– é possível conhecer se uma instância é valida segundo a DTD através
de um processo de parsing com validação
–Processamento de dados XML–
5
Processamento de dados XML
O código para interpretar e executar o parsing de dados XML é desenvolvido como bibliotecas de software
– o programador não necessita escrever o código
As linguagens de programação possuem a capacidade de incorporar bibliotecas de software
– existem várias bibliotecas desenvolvidas
O software que interpreta e executa o parsing de dados XML é denominado no padrão “processador XML”
–Processamento de dados XML–
6
Processador XML
Módulo de software que interpreta dados XML
Disponibiliza o conteúdo de um documento XML para um aplicativo
Detecta problemas. . .
– formato de arquivos que o aplicativo não pode processar
– URL’s que apontam para recursos não válidos
–Processamento de dados XML–
7
Processador XML (cont.)
Aplicativo
Figuras
Processador
XML
Dados
<?xml ...>
< __>
< ____>
__________
_______
< /____>
< /__>
Erros
__________
______________
_____________
_______
____
_________
–Processamento de dados XML–
Regras
8
Manipulador de entidades
Parte do processador XML responsável por localizar fragmentos de documentos e manipular a substituição das referências
Fragmentos de documentos
– declarações de entidades
– outros arquivos de dados
–Processamento de dados XML–
9
Manipulador de entidades
Aplicativo
Figuras
<?xml ...>
< __>
< ____>
__________
_______
< /____>
< /__>
Processador
XML
Dados
Manipulador
de entidades
Documento
XML
–Processamento de dados XML–
10
Parser
Parte do processador XML responsável por verificar a integridade dos dados XML
Parsing. . .
– sem validação: verifica a sintaxe do documento (documento bem formado)
– com validação: os dados são comparados contra uma DTD (regras prédefinidas da estrutura de um documento)
–Processamento de dados XML–
11
Parsing com validação
Aplicativo
Figuras
<?xml ...>
< __>
< ____>
__________
_______
< /____>
< /__>
Parser
Erros
...
–Processamento de dados XML–
Processador
XML
__________
______________
_____________
_______
____
_________
Regras
12
Abordagens no processamento de dados XML
Baseado em eventos (“event-driven”)
– o documento é processado em seqüência estrita
– cada elemento no fluxo de dados dispara um trigger que deve ser tratado pelo aplicativo
Baseado em árvores (“tree-manipulation”)
– provê acesso ao documento completo
– possibilita que o documento seja manipulado e percorrido de diferentes
formas
–Processamento de dados XML–
13
APIs XML
Um aplicativo incorpora bibliotecas de software para executar o processamento baseado em eventos ou baseado em árvores
O aplicativo se comunica com estas bibliotecas através de uma API (Application Programming Interface)
Padrões têm sido desenvolvidos
– SAX: processamento baseado em eventos
– DOM: processamento baseado em árvores
–Processamento de dados XML–
14
Download

Processamento de dados XML