Lua e XML

Eu sou daqueles que ainda não conseguiram entender o que existe de tão espetacular no tal XML. Até admito que ele possa ser bom para algumas aplicações, e talvez até possa ser a melhor opção para um ou outro caso, mas o fato é que se faz barulho demais sobre isso. Diz-se que “este programa usa arquivos XML” como se isso fosse um recurso do programa, uma vantagem para o usuário. Entretanto, o que me parece é que, na maioria dos casos, algum outro formato mais simples, legível e “escrevível” resolveria o problema com bem mais facilidade e eficiência.

Eu tenho usado Lua como formato de dados para a maioria das coisas que tenho feito ultimamente e tenho achado muito mais simples e versátil que XML. Mas, com todo esse alvoroço ao redor da “linguagem extensível”, temo que um dia eu seja obrigado a usar esse formato.

Temo? Na verdade, temia, porque hoje descobri o que fazer quando esse dia chegar:

<?xml version="1.0"?>
<DATA>
   Tabela = {
      Campo1 = "bla, bla, bla",
      Campo2 = 12345678,
      Campo3 = false,
      Campo4 = { 6, "aaaa", 54.4345, "bla" },
   }

   Usuario = "Fulano"

   function UserFunc(n)
      return n*2, n*n
   end
</DATA>

Ah! E essa nota aleatória é um oferecimento de “Diluculum, porque Lua e C++ podem viver em harmonia”.