Introdução a XML - Conhecendo a linguagem

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (6)  (0)

Veja neste artigo uma introdução à linguagem XML, apresentando as características que a tornam uma opção viável para armazenamento e manipulação de dados em aplicativos.

1. Introdução

Proposta há mais de 10 anos, a linguagem XML tem sido adotada como padrão para representação de dados e troca de informações nas mais diferentes áreas. Esta situação não ocorre por acaso, mas sim porque a XML é uma linguagem com características muito atraentes para os desenvolvedores. Destacaremos algumas dessas características fazendo uso de um exemplo prático e simples.

2. Introdução

Considere um web site sobre filmes, onde o usuário pode obter informações como o resumo, ano de produção, elenco e gênero dos filmes. Se o desenvolvedor do site optar por armazenar os dados do site em um banco de dados relacional, precisará espalhar as informações por diversas tabelas, como mostra o exemplo abaixo.

Tabela 1: FILME

id_filme desc_titulo num_ano desc_resumo
1 O XML veste prada 2012 O filme mostra a elegância da XML na representação de dados estruturados e semi-estruturados.

Tabela 2: GENERO

id_genero desc_genero
G1 Aventura
G2 Documentário

Tabela 3: FILME_GENERO

id_filme id_genero
1 G1
1 G2

Tabela 4: ATOR

id_ator nom_ator
A1 Mark Uplanguage
A2 Mary Well-Formed
A3 Sedna D. Atabase

Tabela 5: FILME_ELENCO

id_fimle id_ator
1 A
1 A2
1 A3

Caso o desenvolvedor decida estruturar o banco de dados do site no formato XML, o mesmo exemplo pode ser representado da forma mostrada na Listagem 1.

Listagem 1: Estrutura dos dados dos filmes em XML



	
		O XML veste prada
		O filme mostra a elegância da XML na representação de dados estruturados e semi estruturados.
		Aventura
		Documentário
		
			Mark UPlanguage
			Mary well-Formed
			Sedna D. Atabase
		
	

Embora simples, o exemplo é capaz de revelar algumas das características interessantes da XML:

  • A linguagem é bastante flexível para representar objetos com características complexas. Ao contrário do que ocorre no modelo relacional, através da XML é possível representar com extrema facilidade atributos multivalorados (como “genero”), tipos compostos (como “elenco”) e relações de hierarquia, entre outras coisas. Por esta razão é muito mais fácil mapear um objeto para XML do que fazer o mapeamento para tabelas relacionais.
  • XML representa dados de uma forma muito mais natural para seres-humanos, quando comparamos com outros formatos (ex: arquivo “.csv”, arquivo JSON, tabelas relacionais).
  • Os bancos de dados XML possuem natureza auto-descritiva. Ou seja: as próprias tags já são capazes de explicar o significado do conteúdo dos dados que representam. Normalmente, basta “bater o olho” em um arquivo XML para entender o seu significado.
  • As linguagens de consulta a dados XML - XPath e XQuery - são bem mais simples do que a SQL! Apenas para dar um exemplo, considere a consulta SQL mostrada na Listagem 2, que recupera os nomes dos atores do filme de código=1, considerando o banco de dados relacional das tabelas exibidas anteriormente. Compare com a consulta XPath da Listagem 3, que recupera a mesma informação a partir da base de dados XML. O que lhe parece?

Listagem 2: Consulta SQL para recuperar nomes dos atores no banco relacional

SELECT a.nom_ator FROM
filme_elenco e INNER JOIN ator a ON (e.id_ator = a.id_ator)
WHERE e.id_filme = 1

Listagem 3: Consulta XPath para recuperar nomes dos atores no banco XML

//filme[@id="1"]//ator

XML também possui uma outra característica muito importante - não diretamente relacionada ao exemplo do banco de dados de filmes - mas que não pode ser esquecida de ser citada:

  • XML é independente de plataforma. Isso quer dizer que toda plataforma de programação é capaz de trabalhar com o formato XML: Java, PHP, .NET, C++, Python, Ruby, JavaScript, Perl, etc. Em todas essas linguagens, você trabalhará acessará os dados XML de forma padrão, utilizando as API’s SAX e DOM.

XML possui desvantagens? Claro que sim!!! Duas delas são citadas abaixo:

  • As tags XML fazem o tamanho do banco de dados aumentar muito. Para cada linha, é preciso armazenar as informações e mais as tags.
  • As linguagens padrão para consulta XML - XPath e XQuery - são ótimas para recuperar dados, mas ainda não são tão eficientes como a SQL para a atualização de informações (INSERT, UPDATE, DELETE). Na verdade a XPath não suporta atualizações, pois não foi criada com esse propósito. Já a XQuery passou a suportar atualizações apenas recentemente (desde 2011).

Assim finalizamos este artigo. Em outros artigos, abordaremos temas como: criação de documentos XML bem-formados, criação de documentos XML válidos, “dicas e macetes” para o acesso a arquivos XML usando a linguagem Java. Até a próxima!

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?