Bruno Laturner:
Eu fico intrigado mesmo é com a “necessidade” de usar XML.
Arquivos .ini são bem mais concisos na hora de fazer configurações. Já eram muito bem utilizados antes do XML, thankyouverymuch.
XML já é um dos formatos menos proprícios para representar dados, overhead dele é gigante. Preciso usar uma tag para falar 1?
O problema de ter uma linguagem universal dessas, é que ela acava sendo uma das piores opções para muitos casos, até um ponto onde “XML é como a violência, se ela não resolver, use mais dela.”
Bem, alguns detalhes que talvez você não saiba.
O XML não foi inventando com o intúito de servir como arquivo de configuração. Já lí um artigo uma vez de uma pessoa fazendo uma enorme crítica a isso, e eu concordo até certo ponto. Arquivos .ini são do Windows certo? Então isso está fora de questão, pois aplicações Web não vão usar .ini ou um padrão fechado da Microsoft. Pode-se usar um arquivo properties, que tal? Igual o hibernate já usa. O problema é que você não consegue tanta representatividade em um arquivo properties (somente um par chave-valor).
Quanto a representação de dados (o que o XML deve fazer) eu não concordo com o que você disse. Mesmo essa overhead compensa a integração entre diversos sistemas.
Ai podem falar “mas o usado para armazenar configurações tbm representa uma certa classe de dados”. Eu concordo, mas mesmo assim foge do propósito de estruturar dados que podem ser intercambiados.
Esse preconceito com XML, eu acho, que é grande devido ao fato de quase todos os frameworks em Java utilizarem XML para serem configurados e isso realmente é um saco. Eu não creio que esse padrão seja abolido…
O JSON é utilizado dentro do contexto do Javascript como uma notação para representar objetos e que fique livre dos parsers XML.