Escolar Documentos
Profissional Documentos
Cultura Documentos
9D W ,
DILQDO"
O XML tem recebido muito destaque em toda a comunidade de usurios de informtica. Saiba o que e qual a sua real utilidade.
Por Dani Edson Pereira*
e voc de alguma rea mesmo que apenas remotamente ligada informtica, ento, sem dvida, j deve ter ouvido falar dessas trs letrinhas: X M L. Do que se trata? Para que serve? Por que se fala tanto em XML ultimamente? Ser algum tipo de salvao da humanidade tecnolgica? Neste artigo tentarei explicar do modo mais simples possvel o que e para que serve o XML, bem como por que essa tecnologia est recebendo tanto destaque. No de meu propsito entrar em detalhes muito tcnicos sobre sintaxes da linguagem. Futuramente, talvez possamos fazer isso. Inicialmente, para conseguir entender a finalidade da linguagem XML, vamos fazer um breve retrospecto na histria da Internet.
O que esse tal de XML, afinal? Copyright 2002 Dani Edson Pereira Migre para o VB.NET: http://daniedson.cjb.net
facilidades e servios aos usurios-consumidores, como consultar seu saldo bancrio, fazer compras, reservar passagens em vos, e muito mais, tudo na tela de seu prprio computador pessoal, via Internet. A era do eBusiness, ou comrcio eletrnico estava comeando. O mercado via Internet destinado ao consumidor final ficou conhecido como B2C ou Business To Consumer (Comrcio ao Consumidor). Indo um pouco mais alm, as grandes corporaes perceberam que podiam usar a Internet para se comunicar com seus parceiros e fornecedores, economizando uma quantia considervel de tempo e dinheiro, uma vez que as transaes poderiam ser feitas on-line. O modelo de aplicaes Web que fazia esse tipo de servio foi chamado de B2B, ou Business To Business (Comrcio ao Comrcio).
HTML cumpre bem o papel de mostrar os dados ao usurio de um modo apresentvel. Porm, ela no foi concebida para manipular dados. Nesse aspecto, ela impe as seguintes limitaes:
uma tecnologia para apresentaes, combinando dados com a forma de apresent-los e tornando difcil uma separao dos dois elementos.
Tem um conjunto fixo e rgido de marcaes (tags) e no permite que voc use suas prprias marcaes nos seus programas aplicativos.
uma linguagem "plana" e no permite que voc especifique uma hierarquia de dados, incluindo detalhes como limites e importncia.
Dificulta a transmisso de dados para o cliente, para que sejam processados posteriormente.
Mais recentemente ainda, o comrcio eletrnico est encontrando um nicho muito atraente no chamado B2G, ou Busines To Government (Comrcio eletrnico voltado aos rgos do Governo). Muitas empresas de tecnologia esto se mobilizando para atender a esta nova demanda.
gerada continuamente pelo servidor e o cliente apenas um mecanismo de exibio de dados. Fornece apenas um modo de visualizao dos dados. Se quiser fornecer diferentes modos de visualizao, voc precisa refazer ou regerar os dados e a pgina HTML completa no servidor, para exibio nos clientes.
Em todas as aplicaes construdas para a Internet, o HTML sempre foi a figura chave para a apresentao das informaes na tela do usurio. Mesmo quando um determinado site faz uma consulta a uma base de dados, os servidores de aplicaes web precisam formatar seus resultados em HTML para serem apresentado pelo browser do internauta. A Figura 1 ilustra uma aplicao web que consulta uma base de dados e mostra o resultado para o usurio. Como podemos ver, a pgina que chega ao browser est sempre no formato HTML.
No facilmente legvel, nem pelo olho humano nem por mquina. No muito consistente. Por exemplo, algumas marcaes, ou tags, exigem incio e fim, como <html> e </html>, outras s tm incio, como <p> e <b>. Desse modo, os analisadores de sintaxe HTML (existentes nos browsers) tm de saber lidar como essa formatao aleatria.
Surge o XML
O XML surgiu para suprir toda essa carncia deixada pelo HTML no desenvolvimento de aplicaes avanadas para a Internet, principalmente no que tange quelas aplicaes que precisam manipular um grande volume de dados. Como vimos h pouco, quando uma aplicao Web tradicional precisa buscar informaes em um banco de dados, ela normalmente usa um servidor de aplicativo para fazer uma consulta e retornar os dados no formato HTML para que estes possam ser corretamente exibidos no browser do usurio. Depois disso, pouco se pode fazer com os dados no browser, uma vez que eles esto embutidos na formatao HTML da pgina. Por outro lado, se os dados ou o contedo estivessem separados do formato de exibio, voc poderia baix-los para o cliente (browser) e depois utilizar vrios modos de visualizao, conforme necessrio. No seria esta uma boa idia? Pois exatamente isso o que o XML nos permite fazer. Um dos objetivos por trs dessa linguagem possibilitar a transferncia e manipulao de dados atravs da Internet de modo fcil e consistente, de tal forma que qualquer tipo de aplicao, independentemente da
2
Figura 1 - Gerao de uma pgina HTML dinmica com consulta a um banco de dados.
Limitaes do HTML
Com tudo o que vimos at agora, podemos concluir que o HTML uma excelente linguagem para exibir informaes ao usurio. Porm, quando avanamos para a criao de aplicaes Web mais complexas, ele deixa muito a desejar. Com o aumento no volume de transaes via Internet, principalmente para atender s aplicaes de e-Commerce, o setor de desenvolvimento para a Web comeou a sentir falta de um recurso que agilizasse a transferncia e manuteno de dados por este meio. Como dissemos o
O que esse tal de XML, afinal? Copyright 2002 Dani Edson Pereira Migre para o VB.NET: http://daniedson.cjb.net
O XML permite ao desenvolvedor criar suas prprias estruturas rotuladas para armazenar informaes.
O XML no uma substituio do HTML. Na realidade, o XML pode ser considerado como um complemento ao HTML. O XML e o HTML tm propsitos diferentes: o HTML projetado para exibir dados e focalizado em como os dados so apresentados, ao passo que o XML projetado para descrever dados e focalizado em o que os dados so.
O analisador XML (parser) bem definido e extensamente-implementado, tornando possvel recobrar informao de documentos XML em uma variedade de ambientes. O XML construdo em uma fundao de Unicode, tornando mais fcil a criao de documentos internacionalizados. As aplicaes podem confiar em parsers de XML para fazer alguma validao estrutural, bem como verificao de tipos de dados (quando schemas XML so usados).
Assim como o HTML, o XML no faz nada. Ao passo que tags XML podem ser usadas para descrever a estrutura de um item, tal como uma ordem de compra, estas no podem conter qualquer cdigo de programao que possa ser usado para enviar essa ordem de compra, process-la, ou garantir que ela esteja preenchida. Outras pessoas tm de escrever cdigo para executar realmente estas coisas com seus dados formatados em XML.
Os formatos XML so baseados em texto, o que os tornam mais legveis, mais fceis de documentar, e s vezes mais fceis de depurar. Ferramentas para o processamento XML esto disponveis em plataformas diferentes. Isso faz com que seja mais simples usar XML em vez de formatos binrios para trocar fluxos complexos de informao.
Diferentemente do HTML, as tags XML so definidas pelo autor de um schema, ou documento, e so ilimitadas. J as Tags HTML so predefinidas, e os desenvolvedores HTML podem usar somente as tags que so suportadas pelo padro HTML atual.
Os documentos XML j podem usar muito da infraestrutura construda para HTML, inclusive o protocolo HTTP e alguns browsers. Apesar de todas essas vantagens porm, o XML no apropriado para todas as situaes. Documentos XML tendem a ser maiores que os formatos binrios que eles substituem. Eles consomem maior largura de banda da rede e espao de armazenamento, ou exigem maior tempo de processamento para compresso. Os parsers XML podem ser mais lentos que os parsers de formatos binrios altamente aperfeioados e podem requerer mais memria. Porm, o projeto cuidadoso das aplicaes pode prevenir alguns destes problemas.
Um documento comum.
O que esse tal de XML, afinal? Copyright 2002 Dani Edson Pereira Migre para o VB.NET: http://daniedson.cjb.net
href="clientes.xsl"?>
Perceba que no muito difcil entender o que o arquivo descreve. Observe tambm que as tags so totalmente personalizadas. Se voc tentar abrir este arquivo no Internet Explorer 5.0 ou superior (que suporta XML), no ver algo muito diferente do que est listado aqui. A nica coisa que o browser faz colocar sinais de subtrao (-) ou adio (+) ao lado de cada registro, permitindo que voc os encolha ou expanda.
Depois de acrescentar a referncia, podemos criar o arquivo XSL para finalmente formatar o documento. O exemplo a seguir ilustra um arquivo que formata o arquivo clientes.xml, apresentando seus dados em uma tabela HTML.
<?xml version="1.0" ?> <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <BODY> <TABLE BORDER="1" bordercolor="#000000" cellspacing="0" cellpadding="5"> <xsl:for-each select="doc/clientes"> <TR> <TD> <xsl:value-of select="nome"/> </TD> <TD> <xsl:value-of select="telefone"/> </TD> <TD> <xsl:value-of select="idade"/> </TD> </TR> </xsl:for-each> </TABLE> </BODY> </HTML>
Se voc conhece um pouco de HTML, pode perceber que este documento mescla tags HTML com tags XSL (iniciadas com <xsl: ). As tags <xsl:for-each...> e </xsl:foreach> so responsveis por fazer um loop percorrendo todos os registros contidos no arquivo clientes.xml e formatando-os no browser. Se abrirmos o arquivo clientes.xml no browser agora, obteremos a seguinte apresentao:
Este arquivo apenas define, de modo bastante simples, os elementos de dados que sero includos como tags no documento XML.
Concluso
O XML pode mesmo ser um grande aliado no desenvolvimento de aplicaes avanadas para a Internet. Vimos que ele no substitui o HTML, mas preenche uma grande carncia desta linguagem, oferecendo um meio realmente eficiente de se transmitir dados de todo tipo atravs da rede mundial de computadores. Espero que este artigo o tenha ajudado ,de um modo definitivo, a entender o que e para que serve realmente a linguagem XML.
* Dani Edson Pereira analista de desenvolvimento snior e autor de livros tcnicos na rea de informtica. Seu ltimo lanamento Visual Basic.NET para Programadores. Voc pode contat-lo pelo site http://daniedson.cjb.net.
4
O que esse tal de XML, afinal? Copyright 2002 Dani Edson Pereira Migre para o VB.NET: http://daniedson.cjb.net