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