Exatamente.
Pelo fato do XML ter uma estrutura claramente definida, todos os documentos "bem-formados" podem ser lidos por um interpretador, sem dificuldades.
Imagine no caso do novo Windows. Suponhamos que as configurações da área de trabalho, estejam em um arquivo XML, exemplo:
<desktop>
<wallpaper>opensource.jpg</wallpaper>
<active_desktop>active</active_desktop>
</desktop>
Antes de continuar, lembre-se do significado de XML:
Linguagem de Marcação ExtensívelO Windows está preparado para procurar o "nó" wallpaper e identificar seu valor como sendo a imagem de fundo, assim como o "nó" active_desktop.
Você resolve inventar e adiciona uma nova linha arquivo só pra ver o que acontecerá ao Windows.
<desktop>
<wallpaper>opensource.jpg</wallpaper>
<active_desktop>active</active_desktop>
<odeio>WINDOWS</odeio>
</desktop>
E agora? O Windows vai parar de funcionar? Ele vai colocar um wallpaper secreto de fundo? Não. Nada acontecerá. O Windows ainda conseguirá encontrar as mesmas informações anteriores sem nenhum problema.
Documentos XML são extensíveisAlém dessa vantagem, você mesmo salientou, a independência de plataforma, aliando-se ao fato de que documentos XML são somente plain/text.
Documentos XML são "cross-platform"Existe ainda outra vantagem. Você já usou CSV, certo? CSV, são os commas separated values, ie, valores separados por , (ou ; em alguns casos, porém daí esqueça o nome CSV claro...). Veja um exemplo:
Klaus;19;Salto
Alex;22;Roma
Bruna;17;Salto
Carol;20;Salto
Flávia;19;São Bernardo do Campo
Eu sei que você entende de PHP e saberia construir um script que exibisse cada um dos "campos" (nome, idade, cidade) formatado, tudo bonitinho.
Você consegue unicamente pelo fato de todas as linhas terem a mesma sequência de informações.
Só pra acresentar, semanticamente falando, você não pode concluir quais são essas informações, simplesmente olhando para o arquivo CSV.
Vamos agora tornar isso um XML:
<pessoas>
<nome>Klaus</nome>
<idade>19</idade>
<cidade>Salto</idade>
<nome>Alex</nome>
<idade>22</idade>
<cidade>Roma</idade>
<!-- Aqui teríamos a continuação... -->
</pessoas>
Hora de conhecermos outra vantagem do XML:
Documentos XML descrevem dadosVamos brincar um pouco com o CSV:
Klaus;19;Salto
Roma;22;Alex
Bruna;17;Salto
Carol;20;Salto
Flávia;19;São Bernardo do Campo
Veja no exemplo destacado! Temos uma pessoa chamada Roma, que tem 22 anos e mora em Alex!!!
Com XML isso não acontecerá!
<pessoas>
<nome>Klaus</nome>
<idade>19</idade>
<cidade>Salto</idade>
<cidade>Roma</idade>
<idade>22</idade>
<nome>Alex</nome>
<!-- Aqui teríamos a continuação... -->
</pessoas>
A interpretação dos dados não mudou de maneira nenhuma. Você tem alguma dúvida sobre qual é o nome da pessoa em destaque?
Acho que é isso.
[]´s