Processamento de dados XML César Vittori cvittori@inf.ufrgs.br 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.) <?xml...> < > < > </ > </ > Figuras Processador XML Aplicativo Dados Erros Regras Processamento de dados XML 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 <?xml...> < > < > </ > </ > Documento XML Figuras Processador XML Manipulador de entidades Aplicativo Dados 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 <?xml...> < > < > </ > </ > Figuras Processador XML Parser Aplicativo Erros... Regras Processamento de dados XML 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