Java e XML

21/04/2009 | By | 1 Comment

Agora que você já tem conhecimento básico sobre XML, podemos começar a ver como podemos usar XML nas aplicações Java. Você vai aprender a ler e a criar documentos Java com algumas APIs Java.

O objetivo deste post é mostrar o que é um parser XML.

O que é um Parser?

Um parser é nada mais e nada menos que um pedaço de código que faz a leitura de um documento XML e analisa a sua estrutura.

Como utilizar um parser?

Em geral, você executa os seguintes passos para usar um parser: criar um objeto do tipo parser; Aponta o parser para o seu documento XML; Processa os resultados.
É claro que a última parte é a mais complicada (rs)! Depois que você sabe qual é o conteúdo do XML, você pode fazer várias coisas.

Tipos de parsers

Os parsers são organizados em algumas categorias:
- Parsers que fazem validação e parsers que não fazem validação
- Parsers que suportam a linguagem de XML Schema
- Parsers que suportam o DOM (Document Object Model)
- Parsers que suportam o SAX (Simple API for XML)

Parsers que fazem validação e parsers que não fazem validação

Bem, como já vimos nos posts antigos, existem três diferentes tipos de documentos XML:
- Documentos bem formados (aqui), que seguem as regras básicas do XML;
- Documentos válidos, que são documentos bem formados, além de seguirem um conjunto de regras especificados (aqui) em um DTD (aqui) ou XML Schema (aqui);
- Documento inválidos: os que não seguem as regras dos documentos acima.

Se um parser XML encontra alguma coisa que torna o XML um documento não bem formado, a especificação XML requer que o parser reporte um erro fatal (fatal error). Os parsers que fazem validação, validam o documento XML à medida que fazem sua leitura, ou seja, se um documento XML é bem formado, um parser que não faz validação, não se importa se o documento segue as regras especificadas em um DTD ou Schema.

Mas por qual razão deveria utilizar um parser que não faz validação? Duas boas razões: velocidade e eficiência. Você perde um pouco da eficiência quando o parser tem que ler um DTD ou Schema, e depois configurar as regras de formação na engine que faz com que todo elemento e atributo do documento XML esteja correto de acordo com as regras. Se você tem certeza de que o documento é válido (por exemplo, o documento pode ter sido gerado por uma outra aplicação que pegou as informações de um banco de dados), você pode colocar a validação em off. Dependendo de como as regras são (podem ser bem complicadas), você pode economizar um tempo significativo e também memória.

Se você escreveu um código que tem como input de informações um documento XML, e este código requer que este documento XML siga as regras de um DTD ou Schema, você provavelmente deverá validar todo o documento, independente do custo computacional para fazer isto. Mas é claro que isso vai depender da aplicação.

Parsers que suportam a linguagem de XML Schema

A especificação original do XML definiu o DTD como a maneira de definir como um documento XML deveria ser. Os DTDs têm uma sintaxe diferente dos documentos XML, dificultando o entendimento em algumas vezes. Para contornar essas limitações, O W3C criou a linguagem XML Schema. A linguagem XML Schema é muito rica, os documentos de XML Schema podem ser bem complexos. Por esta razão, os parsers que dão suporte a Schema costumam ser maiores.

Parsers que suportam o DOM (Document Object Model)

O DOM é uma recomendação oficial do W3C. É definida uma interface que permite aos programas acessarem e fazer updates na estrutura do XML.
Este assunto será abordado com mais detalhes em um post futuro.

Parsers que suportam o SAX (Simple API for XML)

SAX é uma alternativa para se trabalhar com documentos XML. Foi designado para ter uma memória menor, mas deixa mais trabalho para o programador. O SAX e o DOM dão complementares, cada um é apropriado para diferentes ocasiões.
Este assunto também será abordado em um post futuro.

Conclusão

Agora você já sabe o que é um parser.
Os posts futuros abordarão DOM, SAX, outras APIs Java e frameworks open-source que facilitam muito o nosso trabalho ao manipular arquivos XML.

Até a próxima!

Filed in: Java, XML | Tags: , , , , ,

Leave a Reply

Trackback URL | RSS Feed for This Entry

VideoPokiesOnline.com is the leading Pokies - Online Casino Guide in Australia. Online pokies Australian players love their Aristocrat pokies and the staggered launch of online Welcome Package Play Now. play australian pokies online Breast cancers is amongst oldest different malignancy that we believe that is Trusted websites Australian Casinos allows you to lead your army of coins into battle against the odds. Free Online Pokies at Top Rated Australian Online Casinos.
Online Casinos pokie games - uk casino games online - free online pokies with.
Slots and enjoy: ?one of a kind VIP program ? $500 Welcome Package ? Online Pokies Australia online casinos and land parlors. Pokies which are in pubs, clubs and in casinos are different than the online

Online Slots Wild Jack.