O que é XML?
Autor: Albreis Design &amp; Programação | Publicado: 2016-06-06T21:49:00-03:00



XML é uma linguagem de marcação, a sigla XML significa: eXtensible Markup Language, traduzindo seria: Linguagem Extensível de Marcação Genérica.

O XML é muito simples e flexível o que permite ao programador criar padrões específicos para sua necessidade.

A linguagem XML também foi usada como base para o desenvolvimento de outras linguagens como o XHTML, o SDMX, o SMIL, o MathML, o NCL, o XBRL, o XSIL e o SVG. O papel mais importante do XML é criar uma base padronizada para o desenvolvimento de outras linguagens.

Vamos ver um exemplo de como usar o XML para criar um inventário por exemplo:

&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;inventario&gt;
&nbsp; &nbsp; &lt;item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;nome&gt;Carro&lt;/nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;proprietario&gt;Everaldo Reis&lt;/proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;valor&gt;50,000.00&lt;/valor&gt;
&nbsp; &nbsp; &lt;/item&gt;
&nbsp; &nbsp; &lt;item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;nome&gt;Casa&lt;/nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;proprietario&gt;Everaldo Reis&lt;/proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;valor&gt;230,000.00&lt;/valor&gt;
&nbsp; &nbsp; &lt;/item&gt;
&lt;/inventario&gt;

Note que a primeira linha do XML é obrigatório e contém informações sobre a versão usada e a codificação.

O XML é flexível ao ponto de eu mesmo poder criar uma estrutura para os dados. Para que outras pessoas possam consumir os dados do meu XML é preciso que elas saibam o que significa cada dado do código, para isso basta criar uma documentação a cerca da estrutura do XML explicando o que significa cada dado.

Podem haver situações que um arquivo XML precisará conter 2 estruturas de dados com estrutura idêntica porém com significados diferentes, por exemplo um inventário de coisas materiais e outro de coisas não materiais, como conhecimentos adquiridos talvez. Nesse caso podemos usar namespaces através do atributo "xmlns":

&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;inventario
xmlns:m="http://url-da-documentacao.com/que-explica-os-dados-do-contexto" 
xmlns:i="http://url-da-documentacao.com/que-explica-os-dados-do-contexto"&gt;
&nbsp; &lt;m:items&gt;
&nbsp; &nbsp; &nbsp; &lt;m:item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:nome&gt;Carro&lt;/m:nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:proprietario&gt;Everaldo Reis&lt;/m:proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:valor&gt;50,000.00&lt;/m:valor&gt;
&nbsp; &nbsp; &nbsp; &lt;/m:item&gt;
&nbsp; &nbsp; &nbsp; &lt;m:item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:nome&gt;Casa&lt;/m:nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:proprietario&gt;Everaldo Reis&lt;/m:proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;m:valor&gt;230,000.00&lt;/m:valor&gt;
&nbsp; &nbsp; &nbsp; &lt;/m:item&gt;
&nbsp; &lt;/m:items&gt;
&nbsp; &lt;i:items&gt;
&nbsp; &nbsp; &nbsp; &lt;i:item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:nome&gt;Curso Inglês&lt;/:inome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:proprietario&gt;Everaldo Reis&lt;/i:proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:valor&gt;1,000.00&lt;/i:valor&gt;
&nbsp; &nbsp; &nbsp; &lt;/i:item&gt;
&nbsp; &nbsp; &nbsp; &lt;i:item&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:nome&gt;Curso Design&lt;i:nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:proprietario&gt;Everaldo Reis&lt;/i:proprietario&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;i:valor&gt;2,000.00&lt;/i:valor&gt;
&nbsp; &nbsp; &nbsp; &lt;/i:item&gt;
&nbsp; &lt;/i:items&gt;
&lt;/inventario&gt;

Além de tags personalizadas ainda temos a opção de acrescentar atributos de acordo com nossa necessidade, por exemplo poderíamos adicionar uma data de compra de cada item:

&lt;item data="20/03/2016"&gt;
...
&lt;/item&gt;

Assim o XML se torna ainda mais flexível.

Bom, isso é o básico cobre XML, postarei em outras ocasiões mais informações sobre as linguagens baseada no XML, como o XSI por exemplo e também pretendo criar alguns posts com padrões de documentos documentos digitais como a NF-e (Nota Fiscal Eletrônica) usada no brasil, que usa o XML como base.

Valeu e Até+!!