XML - Site do Desenvolvedor
postado em 14 de out. de 2011 13:02 por Usuário desconhecido
Por Filipe Abelha
Segundo a W3C, o XML (Extensible Markup Language):
descreve uma classe de objetos de dados chamados de documentos XML e parcialmente descrevem o comportamento de programas de computador que os processam;
é derivado do Standard Generalized Markup Language (SGML) [ISO 8879] e todo XML está em conformidade com esse padrão;
é uma linguagem de marcação para documentos que contenham informação estruturada.
Para melhor entendimento, saiba que a informação estruturada contêm tanto o conteúdo (a informação em si) quanto alguma indicação de como interpretar a informação e a linguagem de marcação é o mecanisco de identificação de estruturas em um documento. A especificação XML define um mecanismo padrão de adicionar marcação em documentos.
Atualmente existem várias implementações baseadas em XML entre elas: RSS, Atom, SOAP, XHTML, Office Open XML, OpenDocument, entre outras; e também implementações de banco de dados com persistência em XML (BaseX, eXist, etc.).
Caso possua interesse em se aprofundar na especificação, sugiro a leitura das referências do texto. Pois agora que já tivemos uma visão geral do XML, vamos vê-lo na prática!
Estrutura do documento XML
Segue um exemplo de documento XML devidamente copiando do seu respectivo verbete na Wikipedia:
02 <receita nome="pão" tempo_de_preparo="5 minutos" tempo_de_cozimento="1 hora">
03   <titulo>Pão simples</titulo>
04   <ingredientes>
05     <ingrediente quantidade="3" unidade="xícaras">Farinha</ingrediente>
06     <ingrediente quantidade="7" unidade="gramas">Fermento</ingrediente>
07     <ingrediente quantidade="1.5" unidade="xícaras" estado="morna">Água</ingrediente>
08     <ingrediente quantidade="1" unidade="colheres de chá">Sal</ingrediente>
09   </ingredientes>
10   <instrucoes>
11     <passo>Misture todos os ingredientes, e dissolva bem.</passo>
12     <passo>Cubra com um pano e deixe por uma hora em um local morno.</passo>
13     <passo>Misture novamente, coloque numa bandeja e asse num forno.</passo>
14   </instrucoes>
15 </receita>
As palavras na cor azul são as tags (marcação) e sempre estão delimitadas pelos caracteres "<" e ">"; podem ser tags de início (<tag>), de fim (</tag>) ou sem elementos(<tag />);
As palavras na cor vermelha são os atributos (marcação/informação) e consistem sempre em um par nome="valor" inserido em uma tag de início ou em uma sem elementos;
As palavras na cor preta são os elementos das tags (informação) e estão sempre inseridos entre um par de tags de início e fim;
A primeira linha representa o cabeçalho do documento XML. Apesar de não ser estritamente necessário explicita o tipo de documento (XML) e o padrão de codificação de seu conteúdo.
Esse exemplo de documento XML contém apenas uma tag/objeto (receita) que possui 3 atributos (nome, tempo_de_preparo, tempo_de_cozimento) com seus respectivos valores e 3 sub-tags/objetos (titulo, ingredientes, instrucoes) e assim sucessivamente.
É importante deixar claro que a escolha entre deixar um valor como atributo de uma tag ou como uma sub-tag vai de acordo com o gosto do freguês. Poderíamos colocar a tag <titulo>Pão simples</titulo> como um atributo da tag <receita>, ficando na estrutura titulo="Pão simples". O XML permite que sejam criadas estruturas de informação de inúmeras maneiras diferentes, com a vantagem de ser inteligível tanto para um sistema, quanto para uma pessoa. Se eu tivesse uma máquina de fazer pão que "entendesse" a estrutura desse XML, ela certamente faria o "Pão simples" perfeitamente.
Nos próximos posts abordaremos um pouco mais sobre as funcionalidades e maneiras de manipulação de documentos XML.