Última Atualização: 25 Mar, 2025

Título - O Que É XML: Um Guia Abrangente

O que é XML?

XML (Extensible Markup Language) é uma linguagem de marcação e um formato de arquivo usado para armazenar, transmitir e reconstruir dados. Ele fornece uma abordagem estruturada para codificação de informações, tornando-as legíveis tanto para humanos quanto para máquinas.

Características Principais do XML

1. Definido por Padrões Abertos

  • Estabelecido pelo World Wide Web Consortium (W3C) em 1998 sob a Especificação XML 1.0.
  • Segue regras estritas para garantir que os dados sejam estruturados e fáceis de interpretar.

2. Objetivos de Design

  • O XML é projetado com simplicidade, generalidade e usabilidade em diferentes plataformas.
  • Usa um formato baseado em texto, tornando-o fácil de ler e editar.

3. Suporte a Unicode

  • XML suporta Unicode, permitindo armazenar e processar texto em múltiplas línguas.

4. Versatilidade

  • Inicialmente criado para documentos, o XML é agora amplamente utilizado para representação de dados em vários domínios, incluindo serviços web, APIs e arquivos de configuração.

5. Esquema e APIs

  • Estruturas XML podem ser definidas usando Definição de Tipo de Documento (DTD), Esquema XML (XSD) ou Relax NG.
  • Várias APIs, como DOM (Document Object Model) e SAX (Simple API for XML), permitem o processamento XML.

6. Usos Comuns do XML

  • Intercâmbio de dados entre diferentes sistemas (ex.: serviços web, APIs).
  • Arquivos de configuração em aplicativos de software.
  • Armazenamento de informações estruturadas (ex.: Feeds RSS, gráficos SVG, formatos de documentos como DOCX).
  • Desenvolvimento web (ex.: XHTML, SOAP, aplicações baseadas em AJAX).

Visão Geral do XML

1. Principal Propósito do XML: Serialização

Serialização em XML significa:

  • Armazenar dados em um formato estruturado.
  • Transmitir dados entre diferentes sistemas.
  • Reconstruir dados em uma forma utilizável.

Quando dois sistemas precisam trocar informações, o XML fornece um formato de arquivo padronizado para a interoperabilidade. Ele atua como uma “língua franca” para troca estruturada de dados.

2. XML como uma Linguagem de Marcação

XML é uma linguagem de marcação, o que significa que:

  • Etiqueta dados com tags para estrutura clara.
  • Organiza informações hierarquicamente.
  • Classifica dados com metadados.

Exemplo:

<book>
    <title>Noções Básicas do XML</title>
    <author>John Doe</author>
</book>

Aqui, <book>, <title> e <author> são tags que definem elementos de dados.

3. Esquema XML (XSD) e Validação

Um Esquema XML (XSD) define regras estruturais para documentos XML.

Documentos XML podem ser:

  • Bem-formados → Seguem regras básicas de sintaxe (aninhamento correto, tags de fechamento apropriadas).
  • Válidos → Conformidade com regras do esquema (elementos obrigatórios, tipos de dados corretos).

Exemplo de uma Regra XSD:

<xs:element name="title" type="xs:string"/>

Isso garante que <title> deve conter um valor de string.

4. Tipos de Mídia XML (RFC 7303)

O IETF RFC 7303 define tipos de mídia XML para transmissão de dados:

  • application/xml → Dados XML padrão.
  • application/xml-external-parsed-entity → Entidades XML analisadas.
  • application/xml-dtd → Documentos DTD XML.

Para formatos baseados em XML, é utilizado o sufixo +xml (ex.: image/svg+xml para imagens SVG).

5. XML em Aplicações em Rede (RFC 3470 / IETF BCP 70)

O IETF BCP 70 (RFC 3470) delineia as melhores práticas para o uso do XML em aplicações baseadas em rede, garantindo interoperabilidade de dados sem problemas nos sistemas.


1. Aplicações do XML

O XML é uma linguagem de marcação flexível projetada para troca de dados pela Internet. Sua sintaxe influenciou numerosos formatos de documentos e protocolos de comunicação, tornando-o uma tecnologia fundamental em muitos setores.

Formatos Comuns Baseados em XML:

  • Feeds Web: RSS, Atom
  • Documentos de Escritório: Office Open XML, OpenDocument
  • Gráficos e Modelos 3D: SVG, COLLADA
  • Tecnologias Web: XHTML
  • Protocolos de Troca de Dados: SOAP, XMPP
  • AJAX: Usa XML para troca assíncrona de dados

Padrões da Indústria Utilizando XML:

  • Saúde: HL7 (Health Level 7)
  • Indústria de Viagens: OpenTravel Alliance
  • Finanças: FpML (Financial products Markup Language)
  • Imobiliário e Hipoteca: MISMO
  • Intercâmbio de Dados Governamentais: National Information Exchange Model

XML na Ciência:

Em meteorologia, o XML é utilizado para representação de dados operacionais do tempo seguindo os padrões IWXXM. Da mesma forma, a Darwin Information Typing Architecture (DITA) é um padrão XML amplamente usado em publicações.


2. Terminologia Chave em XML

Compreender a terminologia básica em XML é crucial para trabalhar com documentos XML de maneira eficaz.

Caractere

Um documento XML é uma sequência de caracteres Unicode. O XML 1.1 permite quase todos os caracteres Unicode, exceto o caractere Nulo (U+0000), que é estritamente proibido.

Processador e Aplicação

  • O processador (ou analisador) XML lê e analisa a marcação XML.
  • A aplicação recebe dados estruturados do processador e age sobre eles.

Marcação e Conteúdo

XML divide caracteres em marcação e conteúdo:

  • Marcação: Inclui elementos, atributos e entidades (ex.: <tag> e &amp;).
  • Conteúdo: Os dados reais dentro dos elementos.
  • Seções CDATA: Permitem texto que não deve ser interpretado como marcação, delimitado por <![CDATA[ ... ]]>.

Tags e Elementos

  • Tags: Construções de marcação delimitadas por < >.
    • <section> (Tag de início)
    • </section> (Tag de fim)
    • <line-break /> (Tag de elemento vazio)
  • Elementos: Componentes lógicos definidos por tags.
    • Exemplo: <greeting>Hello, world!</greeting>

Atributos

Os atributos fornecem metadados para os elementos usando pares nome-valor. Exemplo:

<img src="image.jpg" alt="Descrição" />
  • src="image.jpg" e alt="Descrição" são atributos do elemento <img>.

3. Caracteres e Escape em XML

Caracteres Unicode Válidos em XML

Documentos XML só permitem caracteres Unicode específicos para garantir uma análise adequada.

Caracteres Permitidos em XML 1.0:

  • Caracteres de controle:
    • U+0009 (Tabulação)
    • U+000A (Alimentação de Linha)
    • U+000D (Retorno de Carro)
  • Caracteres de texto:
    • U+0020–U+D7FF
    • U+E000–U+FFFD
    • U+10000–U+10FFFF

Aprimoramentos do XML 1.1:

  • Permite todos os caracteres de controle U+0001–U+001F, mas exige que sejam substituídos por escape.
  • U+0000 (Caractere Nulo) continua proibido.

4. Codificação em XML

Codificações Comuns do XML:

O XML suporta codificações baseadas em Unicode, incluindo:

  • UTF-8 (Padrão recomendado)
  • UTF-16 (Deve ser suportado por todos os analisadores XML)
  • ASCII, ISO-8859-X (Codificações legadas)

Declaração de Codificação em XML:

O cabeçalho XML pode especificar a codificação:

<?xml version="1.0" encoding="UTF-8"?>
  • Se nenhuma codificação for especificada, UTF-8 é assumido.
  • UTF-16 requer um BOM (Marca de Ordem de Bytes) para detecção adequada.

5. Escapar Caracteres Especiais em XML

Como a sintaxe XML reserva certos caracteres, eles devem ser esquivados para evitar conflitos.

Entidades XML Pré-definidas:

CaractereForma EscapadaExemplo
< (Menor que)&lt;I &lt;3 XMLI <3 XML
> (Maior que)&gt;x &gt; yx > y
& (E comercial)&amp;AT&amp;TAT&T
' (Aspa simples)&apos;"O&apos;Reilly"O’Reilly
" (Aspas duplas)&quot;She said &quot;hello&quot;She said “hello”

Referências a Caracteres Numéricos:

Para caracteres especiais que não podem ser digitados, use referências numéricas:

  • Decimal:
    &#20013;  <!-- Caractere chinês "中" -->
    
  • Hexadecimal:
    &#x4E2D;  <!-- Caractere chinês "中" -->
    
  • Exemplo:
    <message>I &lt;3 J&#xF6;rg</message>
    
    Exibido como: I <3 Jörg

Lidando com Dados Binários:

O XML não suporta dados binários brutos. Em vez disso, use a codificação Base64.


6. Comentários em XML

Sintaxe do Comentário XML:

<!-- Este é um comentário XML válido -->

Regras para Comentários XML:

  • Não pode aparecer antes da declaração XML.
  • Não pode conter -- (hífen duplo) dentro do comentário.
  • Referências a entidades são ignoradas em comentários.

Exemplo:

<!-- Este é um comentário com símbolos < e & -->

Conclusão

XML é uma tecnologia essencial para troca estruturada de dados, alimentando feeds web, documentos de escritório, dados científicos, e padrões da indústria. Compreender a terminologia chave do XML, regras de codificação e mecanismos de escape garante documentos XML bem-formados que funcionam corretamente em diferentes sistemas.

Ao seguir as melhores práticas em codificação de caracteres e escape, os desenvolvedores podem evitar erros de análise e garantir a compatibilidade em aplicativos baseados em XML.