Você está na página 1de 5

XML (eXtensible Markup Language) uma recomendao da W3C para gerar linguagens de marcao para necessidades especiais.

.[3] um dos subtipos da SGML (acrnimo de Standard Generalized Markup Language ou Linguagem Padronizada de Marcao Genrica) capaz de descrever diversos tipos de dados. Seu propsito principal a facilidade de compartilhamento de informaes atravs da internet. Entre linguagens baseadas em XML incluem-se XHTML (formato para pginas Web), RDF, SDMX, SMIL, MathML (formato para expresses matemticas), NCL, XBRL, XSIL e SVG (formato grfico vetorial). A principal caracterstica do XML, de criar uma infraestrutura nica para diversas linguagens, que linguagens desconhecidas e de pouco uso tambm podem ser definidas sem maior trabalho e sem necessidade de ser submetidas aos comits de padronizao.

ndice

1 Caractersticas do XML 2 Exemplos o 2.1 Curriculum Vitae o 2.2 Receita de po 3 Vantagens e desvantagens o 3.1 Vantagens tcnicas o 3.2 Desvantagens tcnicas 4 Regras para boa formao de um arquivo XML 5 Referncias 6 Ligaes externas

Caractersticas do XML
Em meados da dcada de 1990, o World Wide Web Consortium (W3C) comeou a trabalhar em uma linguagem de marcao que combinasse a flexibilidade da SGML com a simplicidade da HTML. O princpio do projeto era criar uma linguagem que

pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vrios princpios importantes:

Separao do contedo da formatao Simplicidade e legibilidade, tanto para humanos quanto para computadores Possibilidade de criao de tags sem limitao Criao de arquivos para validao de estrutura (chamados DTDs) Interligao de bancos de dados distintos Concentrao na estrutura da informao, e no na sua aparncia

O XML um formato para a criao de documentos com dados organizados de forma hierrquica, como se v, frequentemente, em documentos de texto formatados, imagens vetoriais ou bancos de dados. Pela sua portabilidade, j que um formato que no depende das plataformas de hardware ou de software, um banco de dados pode, atravs de uma aplicao, escrever em um arquivo XML, e um outro banco distinto pode ler ento estes mesmos dados.

Exemplos
Curriculum Vitae
Cdigo XML descrevendo um currculo:
<?xml version="1.0" encoding="UTF-8"?> <curriculo> <InformacaoPessoal> <DataNascimento>23-07-68</DataNascimento> <Nomecompleto>...</Nomecompleto> <Contato> <Morada> <Rua>R.Topazio</Rua> <Num>111</Num> <Cidade>Porto</Cidade> <Pais>Portugal</Pais> </Morada> <Telefone>9999-9999</Telefone> <CorreioEletronico>email@email.com</CorreioEletronico> </Contato> <Nacionalidade>Portuguesa</Nacionalidade> <Sexo>M</Sexo> </InformacaoPessoal> <objetivo>Atuar na area de TI</objetivo> <Experiencias> <Experiencia> <Cargo>Suporte tcnico</Cargo> <Empregador>Empresa, Cidade - Estado</Empregador> </Experiencia> </Experiencias> <Formacao>Superior Completo</Formacao> </curriculo>

Receita de po

Este exemplo demonstra a sintaxe flexvel do XML sendo usada para descrever uma receita de po:
<?xml version="1.0" encoding="ISO-8859-1"?> <receita nome="po" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora"> <titulo>Po simples</titulo> <ingredientes> <ingrediente quantidade="3" unidade="xcaras">Farinha</ingrediente> <ingrediente quantidade="7" unidade="gramas">Fermento</ingrediente> <ingrediente quantidade="1.5" unidade="xcaras" estado="morna">gua</ingrediente> <ingrediente quantidade="1" unidade="colheres de ch">Sal</ingrediente> </ingredientes> <instrucoes> <passo>Misture todos os ingredientes, e dissolva bem.</passo> <passo>Cubra com um pano e deixe por uma hora em um local morno.</passo> <passo>Misture novamente, coloque numa bandeja e asse num forno.</passo> </instrucoes> </receita>

Onde temos na primeira linha:


<receita nome="po" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora">

"Receita" o nome principal para o seu documento. Note que a semelhana entre XML e HTML grande, na 1 linha abrimos a tag Receita e na ltima linha a fechamos, como em HTML, assim se estendendo por todo o exemplo.

Vantagens e desvantagens
Com relao aos outros "formatos universais para intercmbio de dados" j propostos e experimentados, o XML apresenta diversas vantagens tcnicas, mas so as vantagens no-tcnicas que o tornam um tpico de to grande importncia:

um padro "de fato" e formalmente: num universo onde cada desenvolvedor e cada fabricante tem a liberdade de criar e impor seu prprio formato, a aceitao do XML tem sido vista como o seu maior trunfo Tem sua origem em uma instituio de padronizao das mais abertas e dinmicas, o W3C Se baseia na experincia de sucesso do SGML, sendo considerado inclusive o "sucessor da SGML"

Vantagens tcnicas

baseado em texto simples

Com relao aos formatos no-texto (binrios), um debate existe desde os tempos do SGML, mas ainda hoje a comunidade de usurios e desenvolvedores prefere o texto ao binrio, e as opes do tipo txt.zip (texto comprimido) tais como o OpenDocument so a sada mais largamente adotada

Suporta Unicode, permitindo que a maior parte da informao codificada em linguagem humana possa ser comunicada Pode representar as estruturas de dados relevantes da computao: listas, registros, rvores auto-documentado (DTDs e XML Schemas): o prprio formato descreve a sua estrutura e nomes de campos, assim como valores vlidos A sintaxe restrita e requerimentos de parsing tornam os algoritmos de anlise mais eficientes e consistentes editvel, devido popularidade do XML nos dias de hoje, com diferentes nveis de automao, em qualquer ambiente: o Sem automao: editores txt antigos, tais como vi o Com recurso automtico de destaque: a maior parte dos editores txt modernos oferece recursos para destaque de XML (distino visual entre tag, atributo e contedo) o Com recursos de visualizao e controle (folding) da hierarquia: editores txt mais especializados e editores simples acoplados a navegadores o Com recursos de validao e anlise sinttica: ferramentas um pouco mais sofisticadas, orientadas a programadores, tais como as IDEs, ou orientadas a contedo, tais como editores XHTML, ambos vem se adaptando para lidar com outros formatos XML, interpretando DTD, XSLT ou XML Schema

Desvantagens tcnicas
As desvantagens em geral se restringem s aplicaes que no demandam maior complexidade, tais como vetores, listas associativas (chave-valor) e informaes relativas a configurao, em que o bom senso estabelece a melhor escolha (entre o XML ou um formato menos popular). O "XML simples" pode ser substitudo por formatos mais simples, como properties, YAML, JSON e Simple Outline XML. Os principais critrios para se avaliar a demanda por um formato mais simples so:

Velocidade: a grande quantidade de informao repetida prejudicando a velocidade de transferncia real de informao (quando esta transportada na forma de XML) Editabilidade txt: o arquivo "XML simples" (como se pode ver nos exemplos acima) pode ser bem pouco intuitivo, dificultando sua edio com editores txt por pessoas leigas, mais ainda no caso de volume de dados muito grandes, onde o XML pode sequer ser facilmente editvel por pessoas experientes

O formato properties, por exemplo, mais fcil de ser editado por leigos, por ser apenas uma lista de itens do tipo chave-valor, e o JSON um exemplo de um formato mais prtico e rpido em contexto Javascript.

O exemplo abaixo equivale ao exemplo da receita de po e demonstra como um XML, mesmo sendo sintaticamente vlido, pode ficar de difcil leitura quando criado por ferramentas geradoras de cdigo. A interpretao e a edio de grandes arquivos XML no indentados so ainda mais complexas para todos,leigos ou experientes:
<?xml version="1.0" encoding="ISO-8859-1"?><receita nome="po" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora"><titulo>Po simples</titulo><ingredientes><ingrediente quantidade="3" unidade="xcaras">Farinha</ingrediente><ingrediente quantidade="7" unidade="gramas">Fermento</ingrediente><ingrediente quantidade="1.5" unidade="xcaras" estado="morna">gua</ingrediente><ingrediente quantidade="1" unidade="colheres de ch" >Sal</ingrediente></ingredientes><instrucoes><passo>Misture todos os ingredientes,e dissolva bem.</passo><passo>Cubra com um pano e deixe por uma hora em um local morno.</passo><passo>Misture novamente, coloque numa bandeja e asse num forno.</passo> </instrucoes></receita>