Breaking News

O que é XML ?

XML (Extensible Markup Language) é uma recomendação da W3C para 
gerar linguagens de marcação para necessidades especiais.
É um dos subtipos da SGML (acrônimo de Standard Generalized Markup 
Language ou Linguagem Padronizada de Marcação Genérica) capaz de 
descrever diversos tipos de dados. Seu propósito principal é a facilidade de 
compartilhamento de informações através da internet.
Entre linguagens baseadas em XML incluem-se XHTML 
(formato para páginas Web), RDF, SDMX, SMIL, MathML 
(formato para expressões matemáticas), NCL, XBRL, XSIL e SVG 
(formato gráfico vetorial). A principal característica do XML, de criar uma 
infra-estrutura única para diversas linguagens, é que linguagens desconhecidas 
e de pouco uso também podem ser definidas sem maior trabalho e sem 
necessidade de ser submetidas aos comitês de padronização.
------------------------------------------------------------------------------

Exemplo: Curriculum Vitae

Codigo XML descrevendo um currículo:
<?xml version="1.0" encoding="UTF-8"?>
<curriculo>
   <InformacaoPessoal>
      <DataNascimento>23-07-68</DataNascimento>
      <Nomecompleto>...</Nomecompleto>
      <Contatos>
         <Morada>
              <Rua>R.Topazio</Rua>
              <Num>111</Num>
              <Cidade>Porto</Cidade>
              <Pais>Portugal</Pais>
         </Morada>
         <Telefone>9999-9999</Telefone>
         <CorreioEletronico>email@email.com</CorreioEletronico>
      </Contatos>
      <Nacionalidade>Portuguesa</Nacionalidade>
      <Sexo>M</Sexo>
   </InformacaoPessoal>
   <objetivo>Atuar na area de TI</objetivo>
   <Experiencia>
      <Cargo>Suporte técnico</Cargo>
      <Empregador>Empresa, Cidade - Estado</Empregador>
   </Experiencia>
   <Formacao>Superior Completo</Formacao>
</curriculo>
----------------------------------------------------------


Receita de pão

Este exemplo demonstra a sintaxe flexível do XML sendo usada para 
descrever uma receita de pão:


<?xml version="1.0" encoding="ISO-8859-1"?>
<receita nome="pão" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora">
  <titulo>Pão simples</titulo>
  <ingredientes>
    <ingrediente quantidade="3" unidade="xícaras">Farinha</ingrediente>
    <ingrediente quantidade="7" unidade="gramas">Fermento</ingrediente>
    <ingrediente quantidade="1.5" unidade="xícaras" 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="pão" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora">
------------------------------------------------------
"Receita" é o nome principal para o seu documento. Note que a semelhança 
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.

Desvantagens técnicas

As desvantagens em geral se restringem às aplicações que não demandam maior 
complexidade, tais como vetores, listas associativas (chave-valor) e informações 
relativas a configuração, em que o bom senso estabelece a melhor escolha 
(entre o XML ou um formato menos popular).


O "XML simples" pode ser substituído por formatos mais simples, como
properties, YAML, JSON e Simple Outline XML. Os principais critérios para 
se avaliar a demanda por um formato mais simples são:
  • Velocidade: a grande quantidade de informação repetida prejudicando a 
  • velocidade de transferência real de informação (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 edição 
  • com editores txt por pessoas leigas, mais ainda no caso de volume de dados 
  • muito grandes, onde o XML pode sequer ser facilmente editável por pessoas experientes.
O formato properties, por exemplo, é mais fácil 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 prático e rápido em contexto Javascript.
O exemplo abaixo equivale ao exemplo da receita de pão e demonstra como 
um XML, mesmo sendo sintaticamente válido, pode ficar de difícil leitura quando 
criado por ferramentas geradoras de código. A interpretação e a edição de grandes arquivos XML não indentados são ainda mais complexas para todos,leigos ou experientes:
 ---------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?><receita nome="pão" tempo_de_preparo="5 minutos" 
tempo_de_cozimento="1 hora"><titulo>Pão simples</titulo><ingredientes><ingrediente quantidade="3" 
unidade="xícaras">Farinha</ingrediente><ingrediente quantidade="7" 
unidade="gramas">Fermento</ingrediente><ingrediente quantidade="1.5" 
unidade="xícaras" 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>
---------------------------------------------------------
  • Todo documento XML, além da tag introdutória, deve ter um único elemento 
  • (tag) que sirva como raiz para todos os demais elementos do documento;
  • XML é case sensitive, portanto difere letras maiúsculas e minúsculas, devendo tomar cuidado com o uso de CamelCases.
  • Todo elemento XML deve ser iniciado e fechado, exceto o que define a versão do XML usada e outras definições de tag única, exemplo <system opera="ligado" onde="aqui" />.
  • Comentários em XML são iguais ao HTML (<!--comentário-->) .

Nenhum comentário