XML
É um subtipo de SGML (acrônimo de Standard Generalized Markup Language, ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da Internet. Entre linguagens baseadas em XML incluem-se XHTML (formato para páginas Web), RDF,SDMX ,SMIL, MathML (formato para expressões matemáticas), NCL, XBRL, XSIL e SVG (formato gráfico vetorial).
Características do XML
Estimulado pela insatisfação com os formatos existentes (padronizados ou não), o World Wide Web Consortium (W3C) começou a trabalhar em meados da década de 1990 em uma linguagem de marcação que combinasse a flexibilidade da SGML com a simplicidade da HTML. O princípio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes:
- Separação do conteúdo da formatação
- Simplicidade e Legibilidade, tanto para humanos quanto para computadores
- Possibilidade de criação de tags sem limitação
- Criação de arquivos para validação de estrutura (Chamados DTDs)
- Interligação de bancos de dados distintos
- Concentração na estrutura da informação, e não na sua aparência
O XML é considerado um bom formato para a criação de documentos com dados organizados de forma hierárquica, como se vê frequentemente em documentos de texto formatados, imagens vetoriais ou bancos de dados.
Pela sua portabilidade, um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados.
Problemas do XML
A praticidade do XML tem sido contestada por alguns desenvolvedores, alegando que em muitas situações que poderiam ser substituídos por formatos mais simples, como o properties. Os principais argumentos dos grupo anti-XML são a grande quantidade de informação repetida, prejudicando a velocidade de transferência real de informação (quando esta é transportada na forma de XML), bem como o fato de o arquivo XML, como se pode ver nos exemplos, ser bem pouco intuitivo, prejudicando pessoas leigas a editá-lo e, muitas vezes, arquivos XML muito grandes não são sequer facilmente editáveis por pessoas experientes.[carece de fontes]
O uso do XML deve ser analisado antes de ser implementado. Algumas vezes pode ser mais vantajoso, ou necessário, utilizar algum outro padrão, que permita uma melhor navegação pelo conteúdo. O formato properties é o mais fácil de ser editado por leigos, por ser apenas relação chave-valor, e o JSON é um exemplo de um formato mais prático para se criar um analisador de scripts.
O exemplo abaixo equivale ao exemplo da receita de pão e demonstra como um XML, mesmo sendo sintaticamente válido, pode ficar de difícil leitura quando criado por ferramentas geradoras de código. Arquivos maiores de XML não indentado se tornam ainda mais complexos de serem interpretados e editados por pessoas leigas ou experientes:
version="1.0" encoding="iso-8859-1"?> nome="pão" tempo_de_preparo="5 minutos"
tempo_de_cozimento="1 hora">> Pão simples>> quantidade="3"
unidade="xícaras">Farinha> quantidade="7" unidade="gramas">Fermento>
quantidade="1.5" unidade="xícaras" estado="morna">Água> quantidade="1"
unidade="colheres de chá">Sal>>> > Misture todos os ingredientes,
e dissolva bem.>> Cubra com um pano e deixe por uma hora em um local morno.>>
Misture novamente, coloque numa bandeja e asse num forno.>>>
Comentários