Você está na página 1de 9

Manuais e recursos para desenvolvimento web

www.criarweb.com
Introduo a XML
Autores do manual
Este manual foi criado pelos seguintes colaboradores de Criarweb.com:
Miguel Angel Alvarez -
Traduo de JML
(8 captulos)
Juan Edgardo Jorquera
Uribe
http://www.aplicacionesweb.cl
(1 captulo)
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
1
Manuais e recursos para desenvolvimento web
www.criarweb.com
O que XML
XML uma tecnologia na verdade muito simples que tem ao seu redor outras tecnologias que
a complementam e a fazem muito maior e com possibilidades muito mais amplas. Vamos ver
ao longo de vrios captulos uma introduo ao mundo XML, ou seja, linguagem assim como
s tecnologias que trabalham com ela, seus usos, vantagens e modos de realizar as tarefas.
XML, com todas as tecnologias relacionadas, representa uma maneira distinta de fazer as
coisas, mais avanada, cuja principal novidade consiste em permitir compartir os dados com os
quais se trabalha a todos os nveis, por todas as aplicaes e suportes. Sendo assim, o XML
tem um papel importantssimo neste mundo atual, que tende globalizao e
compatibilidade entre os sistemas, j que a tecnologia que permitir compartir a informao
de una maneira segura, confivel e fcil. Ademais, XML permite ao programador e aos
suportes dedicar seus esforos s tarefas importantes quando trabalha com os dados, j que
algumas tarefas trabalhosas como a validao destes ou o percorrido das estruturas corre a
cargo da linguagem e est especificado pelo padro, de modo que o programador no tem que
se preocupar por isso.
Vemos que XML no est s, e sim com um mundo de tecnologias ao redor dele, de
possibilidades, maneiras mais fceis e interessantes de trabalhar com os dados e,
definitivamente, um avance na hora de tratar a informao, que na verdade o objetivo da
informtica em geral. XML, ou melhor dizendo, o mundo XML no uma linguagem, e sim
vrias linguagens, no uma sintaxe, e sim vrias e no uma maneira totalmente nova de
trabalhar, e sim uma maneira mais refinada que permitir que todas as anteriores se possam
comunicar entre si sem problemas, j que os dados cobram sentido.
XML interessante no mundo da Internet e do e-bussiness, j que existem muitos sistemas
distintos que tm que se comunicar entre si, porm, como se pode imaginar, interessa
igualmente a todos os ramos da informtica e o tratamento de dados, j que permite muitos
avances na hora de trabalhar com eles.
Artigo por Miguel Angel Alvarez - Traduo de JML
Histria do XML
O XML provm de uma linguagem que inventou IBM l pelos anos 70. A linguagem de IBM
chama-se GML (General Markup Language) e surgiu pela necessidade que tinham na empresa
de armazenar grandes quantidades de informao de temas diversos.
Imaginar por um momento a quantidade de documentao que a IBM geraria sobre todas as
reas nas que trabalhava e investigava, e a quantidade de informao que haver gerado at
hoje. Sendo assim, necessitavam uma maneira de salvar a informao e os experts de IBM
inventaram GML, uma linguagem com a qual poder classifica-la toda e escrever qualquer
documento para que se possa logo processar adequadamente.
Esta linguagem atraiu muito ao pessoal de ISO, uma entidade que se encarrega de normalizar
quantas coisas voc puder imaginar para os processos do mundo atual, de modo que l pelo
ano de 86 trabalharam para normalizar a linguagem, criando o SGML, que no era mais que o
GML, porm, padro (Standar em ingls).
SGML uma linguagem muito trabalhada, capaz de se adaptar a um grande leque de
problemas e a partir dele criaram-se os seguintes sistemas para armazenar informao.
Pelo ano de 89, para o mbito da rede Internet, um usurio que havia conhecido a linguagem
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
2
Manuais e recursos para desenvolvimento web
www.criarweb.com
de etiquetas (Markup) e os hiperlinks criou uma nova linguagem chamada HTML, que foi
utilizado para um novo servio de Internet, a Web. Esta linguagem foi adotada rapidamente
pela comunidade e vrias organizaes comerciais criaram seus prprios visores de HTML e
disputaram entre eles para fazer o visor mais avanado, inventando etiquetas segundo sua
prpria vontade. Desde 96 at hoje uma entidade chamada W3C trataou de colocar ordem no
HTML e de estabelecer suas regras e etiquetas para que seja um padro. Entretanto o HTML
cresceu de uma maneira descontrolada e no cumpriu todos os problemas que planejava a
sociedade global de Internet.
O mesmo W3C em 98 comeou e continua, no desenvolvimento de XML (Extended Markup
Language). Nesta linguagem foi pensado muito mais e muitas pessoas com grandes
conhecimentos na matria esto ainda trabalhando na sua gestao. Pretendiam solucionar as
carncias do HTML no que se refere ao tratamento da informao. Problemas do HTML como:
O contedo se mistura com os estilos que queremos aplicar.
No permite compartilhar informao com todos os dispositivos, como podem ser
computadores ou telefones celulares.
A apresentao na tela depende do visor que se utilize.
Imagine, uma pessoa que conhece o HTML e o difcil que pode chegar a ser entender seu
cdigo, se tivesse que processa-lo para extrair seus dados que necessite em outras aplicaes.
Seria muito difcil saber onde est realmente a informao que busca, sempre misturada entre
etiquetas <FONT>, <TABLE>, <TD>, etc... Isto uma m gesto da informao e o XML a
soluciona.
Artigo por Miguel Angel Alvarez - Traduo de JML
Sintaxe do XML
Dizem que o XML um 10% do SGML e verdade, porque na realidade as normas que tem
so muito simples. Escreve-se em um documento de texto ASCII, igual que o HTML e no
cabealho do documento tem que colocar o texto
<?xml versao="1.0"?>
No resto do documento devem se escrever etiquetas como as de HTML, as etiquetas que ns
quisermos, por isso a linguagem se chama XML, linguagem de etiquetas espalhada. As
etiquetas se escrevem aninhadas, umas dentro de outras.
<ETIQ1>...<ETIQ2>...</ETIQ2>...</ETIQ1>
Qualquer etiqueta pode ter atributos. Podemos colocar os atributos que quisermos.
<ETIQ atributo1="valor1" atributo2="valor2"...>
Os comentrios de XML se escrevem igual que os de HTML.
<!-- Comentario -->
E isto tudo o que a linguagem XML em si, embora temos que ter em conta que o XML tem
muitas outras linguagens e tecnologias trabalhando ao redor dela. Entretanto, no cabe a
menor dvida que a sintaxe XML realmente reduzida e simples.
Para definir quais etiquetas e atributos devemos utilizar ao escrever em XML temos que
observarmos na maneira de salvar a informao de uma forma estruturada e ordenada. Por
exemplo, se desejarmos salvar a informao relacionada com um filme em um documento XML
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
3
Manuais e recursos para desenvolvimento web
www.criarweb.com
poderamos utilizar um esquema com as seguintes etiquetas.
<?xml versao="1.0"?>
<FILME nome="O Padrinho" ano=1985>
<ELENCO>
</DIRETOR nome="Georgie Lucar">
</INTRPRETE nome="Marlon Brando" interpreta-a="Don Corleone">
</INTERPRETE nome="Al Pacino" interpreta-a="Michael Corleone">
</ELENCO>
</ROTEIRO descrio="Filme de mafias sicilianas nos Estados Unidos">
</FILME>
Como se pode ver, inventamos as etiquetas que quisemos para colocar este exemplo e as
ordenamos de forma que a etiqueta maior O FILME e dentro dela temos o ELENCO e o
ROTEIRO. Por sua vez, dentro de ELENCO temos tanto o DIRETOR como os atores
(INTERPRETE).
Artigo por Miguel Angel Alvarez - Traduo de JML
Diferenas entre HTML e XML
Para os que conhecem tambm a linguagem HTML, que esperamos que sejam muitos,
compilamos aqui uma srie de diferenas entre HTML e XML que servem de amostra para ver
at onde chegam estas duas linguagens.
O HTML se preocupa em formatar dados e para isso so as etiquetas que tem a linguagem,
para formatar a informao que se deseja mostrar.
O XML se preocupa em estruturar a informao que pretende armazenar. A estrutura, a marca,
a lgica prpria da informao.
O desenvolvimento do HTML esteve marcando a concorrncia entre os distintos visores do
mercado. Cada um queria ser o melhor e inventava etiquetas novas que a longo prazo,
entravam para fazer parte do padro do W3C, como a etiqueta <FRAME>.
O desenvolvimento do XML est sendo realizado com rigor, sempre ajustado ao que marca o
padro que desenvolve o W3C, entidade que est desenvolvendo o XML com mais diligncia
que as empresas com interesse particulares.
Processar a informao em HTML invivel, por estar misturada com os estilos e as etiquetas
que formatam a informao.
Em XML pode-se processar a informao com muita facilidade, porque tudo est ordenado de
uma maneira lgica, assim mesmo a formatao da informao para que se possa entender
bem pelo usurio vivel atravs de um pequeno processamento, atravs de folhas de estilos
ou similares.
'arning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
"ome"%riar#eb"data"librerias"im!rimir(manual(%om!leto)$!! on line *+,
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
4
Manuais e recursos para desenvolvimento web
www.criarweb.com
Objetivos e usos do XML
Objetivos e usos do XML O XML se criou para que cumprir vrios objetivos.
Que fosse idntico na hora de servir, receber e processar a informao que o HTML,
para aproveitar toda a tecnologia implantada para este ltimo.
Que fosse formal e conciso desde o ponto de vista dos dados e a maneira de salva-los.
Que fosse extensvel, para que possa ser utilizado em todos os campos do
conhecimento.
Que fosse fcil de ler e editar.
Que fosse fcil de implantar, programar e aplicar aos distintos sistemas.
O XML pode-se usar para uma infinidade de trabalhos e aporta muitas vantagens em amplos
cenrios. Vejamos algumas vantagens do XML em alguns campos prticos.
Comunicao de dados. Se a informao se transfere em XML, qualquer aplicao
poderia escrever um documento de texto plano com os dados que estava manejando
em formato XML e outra aplicao receber esta informao e trabalhar com ela.
Migrao de dados. Se tivermos que mover os dados de uma base de dados a outra
seria muito simples se as duas trabalhassem em formato XML.
Aplicaes web. At agora cada navegador interpreta a informao a sua maneira e os
programadores do web tm que fazer umas coisas ou outras em funo do navegador
do usurio. Com XML temos somente uma aplicao que maneja os dados e para cada
navegador ou suporte poderemos ter uma folha de estilo ou similar para aplicar o estilo
adequado. Se amanh nossa aplicao deve correr em WAP s temos que criar uma
nova folha de estilo ou similar.
So somente alguns exemplos que esperamos que vocs possam compreender embora seja
por alto, j que ainda h muitas coisas que faltam para vocs saberem sobre XML e as
tecnologias relacionadas.
Artigo por Miguel Angel Alvarez - Traduo de JML
Tecnoo!ias reacionadas co" XML
Vimos o simples que XML e as poucas normas que temos para sua sintaxe. Simplesmente
utilizamos as etiquetas que necessitamos, abrindo e fechando cada epgrafe de maneira
parecida a como fazemos em HTML.
Toda esta simplicidade graas a que XML tem muitas outras tecnologias relacionadas que so
encarregadas de manejar importantes processos dentro do mbito de uma aplicao XML. A
sintaxe, a forma de aplicar estilos, programar ou acessar bases de dados, vai por sua parte,
ou seja, s tecnologias relacionadas com o XML.
Em seguintes captulos vamos ver um monto de novas tecnologias, cada uma para realizar
um aspecto da aplicao XML. Nesta introduo a XML no pretendemos entrar muito na
discusso de cada tecnologia e sim, apresent-las e conhecer seus usos.
Veremos tecnologias relacionadas com os processos de:
Contedos: DTD ou XML Schema.
Desenho: CSS ou XSL.
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
5
Manuais e recursos para desenvolvimento web
www.criarweb.com
Programao: SAX ou DOM.
Artigo por Miguel Angel Alvarez - Traduo de JML
#onte$dos% DTD ou XML Sc&e"a
Um documento XML pode conter muitos tipos de informao. Ou seja, pode haver muitas
linguagens escritas em XML para qualquer coletivo de usurios. Por exemplo,
Se fosse utilizado por um coletivo de mdicos poderiam criar uma linguagem em XML
especfica para armazenar diagnsticos dos pacientes. Esta linguagem poderia se
chamar PacientesML.
Se os distribuidores de filmes utilizassem XML poderiam criar suas prprias linguagens
para salvar a informao dos filmes. Esta linguagem poderia se chamar FilmesML.
Se estivermos escrevendo aplicaes para celulares poderamos utilizar uma linguagem
para aplicaes inalmbricas (Wireless), que se chamaria WML.
Como vemos, podem se criar infinitas linguagens a partir do XML. Para especificar cada um dos
usos de XML, ou que o mesmo, para especificar cada uma das sublinguagens que podemos
criar a partir de XML, utilizam-se umas linguagens prprias.
So umas linguagens que servem para definir outras linguagens, ou seja, so metalinguagens.
Estas so definidas especificando quais etiquetas podemos ou devemos encontrar nos
documentos HTML, em que ordem, dentro de quais outras, ademais de especificar os atributos
que podem ou devem ter cada umas das etiquetas.
Existem duas metalinguagens com as quais definir as linguagens que podemos obter a partir
de XML, o DTD e o XML Schema.
O DTD, Definition Type Document, tem uma sintaxe especial, diferente da de XML, que
simples, embora seja um pouco rara se nunca tivermos visto um documento parecido.
Para evitar o DTD, que tem uma sintaxe muito especial, tentou-se encontrar uma maneira de
escrever em XML a definio de outra linguagem XML. Definiu-se ento a linguagem XML
Schema e funciona bem, embora possa chegar a ser um pouco mais complicado que
especific-la em DTD. Simplesmente poupamos aprender uma nova linguagem com sua
sintaxe particular.
Um detalhe importante de assinalar na hora de falar dos DTD ou XML Schema que estas
linguagens tambm permitem comprovar a integridade dos dados em qualquer momento.
Calcula-se que um 70% das linhas de cdigo que escreve um programador esto orientadas a
comprovar a integridade dos dados, ou seja, comprovar se onde se supem que existe um
nmero efetivamente o exista, se o nmero inteiro ou qualquer outra comprovao. Nossas
metalinguagens de XML nos servem para pegar um documento XML e comprovar que os dados
que ele inclui so vlidos, comprovando se o que temos no XML concorda com o que teramos
que ter. Isso pode ser feito ao ler o documento, se no forem vlidos tira-se uma mensagem
de erro e se detm o processo do documento. Se forem vlidos, fazemos o que for sem ter que
nos preocuparmos pela integridade dos dados.
Artigo por Miguel Angel Alvarez - Traduo de JML
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
6
Manuais e recursos para desenvolvimento web
www.criarweb.com
Desen&o% #SS ou XSL
Para cada documento XML que se deseja apresentar em tela formatada da maneira que
desejarmos tem-se que escrever uma folha de estilos ou similar. Utilizamos esta frase em
outras partes da introduo a XML, vejamos agora o que significa.
Tambm temos duas possveis linguagens com as quais formatar os textos de um documento
XML para poder ser visto por tela. A primeira possibilidade o CSS, que muitos j conhecero.
A segunda opo o XSL, bastante mais avanado.
CSS (Cascading Style Sheets ou folhas de estilo em cascata) no nada novo, j podia ser
utilizado com HTML e foi criado na tentativa de separar a forma do contedo em HTML. Em
XML tambm podemos utilizar as CSS, e utilizam-se de uma maneira muito parecida a como
se utilizam em HTML, pelo menos os atributos de estilo que podemos aplicar so os mesmos e
seus possveis valores tambm.
XSL, que so as siglas de XML Style Language, a segunda linguagem com a qual trabalhar
em XML. Esta linguagem no se limita a definir que estilo aplicar a cada elemento do
documento XML. Ademais, podem se realizar pequenas instrues tpicas das linguagens de
programao. E a sada no tem porque ser um documento HTML, alm disso, poderia ser de
outros tipos, qualquer um que possamos necessitar como um documento escrito em WML
(para WAP), um documento de texto plano ou outro documento XML.
XSL muito mais potente que CSS e de fato muito mais adequado utiliza-lo. Uma das suas
principais vantagens ser vista a seguir. Se tivermos um documento XML que quisermos que
seja visualizado em mltiplos dispositivos distintos ser imprescindvel utilizar XSL. Neste
esquema teramos um s documento XML e um documento XSL para cada dispositivo que
quisermos incluir, por exemplo, para um navegador Netscape, outro para Internet Explorer,
outro para um celular Ericson e outro para um celular Nokia. Se amanh aparece um novo
dispositivo, por muito particular que seja, s necessitaremos criar um documento XSL para que
nossos XML possam ser visualizados nele.
Artigo por Miguel Angel Alvarez - Traduo de JML
'ro!ra"ao% S(X ou DOM
Se quisermos realizar aes com nossos dados escritos em XML temos tambm muito caminho
j implementado. O W3C especificou dois mecanismos para acessar a documentos XML e
trabalhar com eles. Tratam-se simplesmente de umas normas que indicam os desenvolvedores
maneira de acessar aos documentos. Estas normas incluem uma hierarquia de objetos que
tm alguns mtodos e atributos com os quais teremos que trabalhar e que nos simplificaro as
tarefas relativas ao percurso e acesso s partes do documento.
Estes dois mecanismos denominam-se -AX e ./M. SAX utiliza-se para fazer um percurso da
seqncia dos elementos do documento XLM e DOM implica a criao de um fluxograma na
memria que contm o documento XML, e com ele na memria podemos fazer qualquer tipo
de percurso e aes com os elementos que quisermos.
Pode-se programar com a linguagem de programao que desejarmos para acessar a um
documento XML. Os criadores da linguagem so os responsveis de criar umas API que
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
7
Manuais e recursos para desenvolvimento web
www.criarweb.com
cumpram as especificaes de XML para que logo os desenvolvedores de cada linguagem as
encontrem e possam trabalhar com elas. Uma linguagem tpica para trabalhar com XML Java
e, neste caso SUN Microsystems a encarregada de prover o API que o W3C especificou e
portanto, os desenvolvedores em Java contam com umas aulas especiais que SUN criou para
programar com XML.
Por outro lado, os criadores de algumas linguagens implementaram uma terceira maneira de
programar com XML que se chama XSLT. Empresas como por exemplo, a organizao Apache,
SUN ou Microsoft, j esto apoiando, embora no W3C no disseram que seja um padro.
importante assinalar que a W3C um organismo muito lento e que muito do que se faz em
XML atualmente s est na W3C contemplado como uma "nota" na qual os gurus esto
pensando.
O trabalho com banco de dados e XML est se desenvolvendo com uma linguagem que se
chama XQL (XML Query Language), que um dos exemplos de linguagem que s est
publicado no W3C como uma "nota".
Artigo por Miguel Angel Alvarez - Traduo de JML
SiteMa)s de *oo!e e" 'H'
Antes de colocarmos mos obra, vamos falar um pouco sobre o Google SiteMaps.
Google Sitemaps permite aos webmasters acrescentar em um XML as pginas que querem que
estejam no index de Google. A participao no programa gratuita, a incluso no est
garantida, mas Google pensa que desta forma chegar a indexar um maior nmero de pginas
do que com o simples rastreio tradicional.
O XML tambm deixar que os webmasters indiquem a cada quanto tempo se atualiza sua
pgina ou a cada quanto querem que seja re-visitada.
0omo 1un%iona o novo !rograma2
Os webmasters criam um arquivo XML com as URLs que querem que sejam rastreadas, assim
como uma pequena anotao por URL indicando a ltima atualizao e o ritmo de atualizao
da pgina. Google hospedar o Sitemap nos seus servidores lhe indicando exatamente aonde
se encontra.
S necessrio utilizar uma conta de Google e se registrar de maneira gratuita.
Este script pega o diretrio raiz de nosso web site, o l e faz uma lista de todos aqueles
arquivos cuja extenso for .php, porm, vocs podem mud-lo para que faa a lista do que
vocs desejarem, de acordo com as suas necessidades, isto s um exemplo.
Agora chega de palavras e vamos ver o cdigo:
<?php
if ($gestor = opendir('.')) { //Abrimos o diretorio onde estamos parados, aqui podem dar o diretorio que desejarem
echo "<" . "?xml versao=\"1.0\" encoding=\"UTF-8\"" . "?" . ">"; //etiqueta de inicio de um arquivo XML
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
8
Manuais e recursos para desenvolvimento web
www.criarweb.com
/* Dados para o sitemaps de Google, confira esta parte em
https://www.google.com/webmasters/sitemaps/docs/es/overview.html */
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://www.seusite.com/</loc>
<lastmod>2006-03-23</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<?
// comecamos a gerar a iteracao
while (false !== ($arquivo = readdir($gestor))) {
$p = explode(".",$arquivo);
if(strtolower($p[count($p)-1]) == "php")
{
echo "
<url>
<loc>http://www.seusite.com/$arquivo</loc>
<lastmod>2006-03-23</lastmod>
<changefreq>yearly</changefreq>
</url>";
}
}
//fechamos
closedir($gestor);
echo "
</urlset>";
}
?>
Bastante fcil, no ? Claro que se quisermos dar dados atravs do banco de dados, coisas
como contedo.php?id=1 comea a complicar um pouquinho mais a coisa, mas mesmo assim
no tem maiores mistrios. De qualquer forma, voc desenvolver, como j disse, de acordo
com as suas necessidades.
Artigo por Juan Edgardo Jorquera Uribe
Introduo a XML: tt!:""###$%riar#eb$%om"&ml"
Os manuais de CriarWeb.com tm copyright dos autores. No reproduzir sem autorizao.
9

Você também pode gostar