Famílias de especificações XML

XML, ou eXtensible Markup Language, é uma linguagem de marcação desenvolvida para marcar qualquer tipo de conteúdo de forma personalizada, de acordo com as necessidades da aplicação, ou seguindo padrões para aumentar a portabilidade e compatibilidade com aplicações de terceiros.

A sintaxe de marcação do XML lembra muito à do HTML, com tags para definir o conteúdo e demarcadas pelos sinais < e >, e com a necessidade de fechar cada tag. O fato é que o XML se disseminou muito e até corriqueiro falar nele quando desenvolvemos aplicações com requisitos um pouco mais abrangentes, que tenham necessidade de extensão.

Essa disseminação aliada ao fato do XML ser livre de licenças, plataforma e fornecedor, fez com que surgissem várias especificações que vão se tornando padrões com o passar do tempo. Isso é bem ilustrado com uma figura que encontrei na internet que foi a inspiração para este post.

Especificações XML

Achei o diagrama bem completo, principalmente nos padrões relacionados com desenvolvimento de aplicações tradicionais ou orientadas a serviços.

Eu poderia finalizar o artigo agora, pois através dos links que coloquei no início do post, é possível entender mais profundamente a idéia do XML e aprender a tecnologia e suas possibilidades, mas vou falar um pouco mais sobre o assunto pois muitas pessoas se confundem um pouco com o que seria exatamente o XML e ainda confundem com HTML.

O primeiro detalhe importante é identificar o XML quando se deparar com ele. A forma mais simples é através dos feeds de notícias que usando o formato XML chamado RSS ou, atualmente, Really Simple Syndication. Essa definição já mudou conforme a versão das especificações do RSS, que hoje está na versão 2.0.

RSS

O RSS possibilita acessar conteúdo de sites com muita facilidade, sem precisar lidar com nenhum tipo de formatação visual da informação. Esta grande característica do RSS/XML pode ser vista no vídeo sobre Web 2.0 que mencionei aqui no Hypercast e pode ser visto no link que está no fim deste post.

O uso do XML está tão abrangente que é possível encontrá-lo em qualquer lugar, principalmente em ambientes livres. Figuras (SVG), arquivos de som e expressões matemáticas podem ser descritas como documentos XML. Os arquivos salvos do OpenOffice.org (e até do Microsoft Word, atualmente) são XML, no caso ODF. Boa parte das configurações de softwares desktop do GNOME e do KDE são feitas através de XML. Muita coisa é XML.
O XML em si, serve prioritariamente para estruturar e organizar dados. Parece sim com HTML, como citei anteriormente, por causa da escrita com tags e definições do tipo atributo=”valor” dentro das tags.

Sua utilidade tão ampla também não deixa de fora os programas desktop/standalone. É possível utilizar o excelente suporte ao XML que quase todas as linguagens têm para, por exemplo, salvar o trabalho do usuário durante uma execução e, facilmente, carregar novamente para a aplicação e deixar o usuário continuar o trabalho de onde parou.

É possível ainda compactar o arquivo XML e se aproveitar do fato de que ele é muito prolixo e “verboso” para conseguir altas taxas de compactação.

Para finalizar, gostaria de esclarecer a dúvida sobre o que seria o XHTML, que nada mais é do que uma espécie de documento HTML feito nos moldes rigorosos do XML. Isto facilita muito a trabalho dos desenvolvedores de navegadores, pois a interpretação do documento XHTML é muito mais simples. Conseqüentemente a renderização será mais exata, principalmente se dado navegador utilizar os padrões da W3C.

Aos interessados, recomendo que façam mais leituras sobre o XML, que hoje é um grande conjunto de tecnologias modulares como mostra a primeira ilustração deste post. Espero que este artigo tenha sido útil para os curiosos que queriam ter uma idéia básicas do que é o famoso XML.

Artigos Relacionados:


Sobre este artigo