XML
XML (eXtensible Markup Language) é uma linguagem de marcação da W3C, derivada do SGML, projetada para facilitar o compartilhamento de informações na internet. Seu objetivo é garantir a portabilidade de documentos com dados hierárquicos entre diferentes sistemas informatizados, preservando a informação e aproveitando a flexibilidade do SGML de forma simplificada.
Pontos-chave
- XML é uma linguagem de marcação da W3C, derivada do SGML.
- Seu principal objetivo é o compartilhamento fácil e portátil de informações na internet.
- Permite que documentos com dados hierárquicos sejam transportados entre sistemas sem perda de informação.
- Combina a flexibilidade do SGML com uma abordagem simplificada.
- É um formato independente de plataforma, ideal para intercâmbio de dados.
Imagem: dpstyles™ · BY · Openverse
A principal característica do XML é sua capacidade de criar uma infraestrutura única para diversas linguagens. Isso permite que linguagens desconhecidas ou de pouco uso sejam definidas sem grandes esforços ou a necessidade de submissão a comitês de padronização, demonstrando sua flexibilidade.
Imagem: B Tal · BY-NC · Openverse
A SGML, criada no final da década de 1960, foi a primeira linguagem de marcação, visando um sistema portátil para documentos. Ela impulsionou o HTML (HyperText Markup Language), desenvolvido por Berners-Lee no final dos anos 80, que revolucionou a visualização de páginas web e foi atualizado para o HTML5 em 2014. Em 1996, Jon Bosak criou o XML, também baseado no SGML, para descrever a estrutura de conteúdos de forma simplificada, mas mantendo o poder do antecessor. Em 2000, surgiu o XHTML, combinando HTML e XML para melhorar a exibição e acessibilidade de páginas online.
Imagem: carol shergold · BY · Openverse
Em meados da década de 1990, o W3C buscou uma linguagem de marcação que unisse a flexibilidade do SGML à simplicidade do HTML. O XML foi concebido para ser lido por software e integrar-se com outras linguagens. Ele organiza dados de forma hierárquica, similar a documentos formatados, imagens vetoriais ou bancos de dados. Sua portabilidade é um diferencial, permitindo que um banco de dados escreva em um arquivo XML e outro banco distinto leia esses mesmos dados, independentemente da plataforma de hardware ou software.
Imagem: Dan Zen · BY · Openverse
Este exemplo ilustra a sintaxe flexível do XML ao descrever uma receita de pão. A estrutura é semelhante ao HTML, com tags de abertura e fechamento (ex: <Receita> e </Receita>) que delimitam o conteúdo, estendendo-se por todo o documento para organizar as informações de forma clara e hierárquica.
Imagem: Sae1962 · BY-SA · Openverse
O XML oferece diversas vantagens técnicas em comparação com outros formatos universais de intercâmbio de dados, mas são as vantagens não-técnicas que o tornam tão relevante. No entanto, em cenários mais simples, pode apresentar desvantagens.
Desvantagens Técnicas do XML
As desvantagens do XML geralmente se manifestam em aplicações que não exigem grande complexidade, como vetores, listas associativas (chave-valor) e informações de configuração. Nesses casos, formatos mais simples como properties, TOML, YAML, JSON e Simple Outline XML podem ser mais adequados. Os critérios para escolher um formato mais simples incluem facilidade de edição por leigos (como o formato properties, que é uma lista chave-valor) e praticidade/rapidez em contextos específicos (como o JSON em Javascript).
Imagem: JLaw45 · BY · Openverse
A integração de sistemas de informação frequentemente exige um mecanismo para mediar e compatibilizar a troca de dados entre sistemas com diferentes representações. O XML para banco de dados oferece uma solução para esse problema, permitindo a interação de dados sem perda de informações relevantes contidas nas bases de dados integradas.
Quando Armazenar em XML
A decisão de armazenar informações em formato XML deve considerar o objetivo do armazenamento e a forma como os dados serão recuperados. Se uma aplicação futura utilizará exclusivamente o formato XML, é recomendável já armazená-los nesse formato. Cenários onde o XML é útil incluem: intercâmbio de dados entre sistemas heterogêneos, armazenamento de documentos com estrutura complexa e hierárquica, e quando a portabilidade dos dados é crucial.
XML em SGBDs Relacionais
Documentos XML podem ser armazenados em SGBDs relacionais, uma tecnologia madura e estável. Uma forma de fazer isso é utilizando o tipo de dados CLOB (Character Large Object). Contudo, ao usar CLOB, o banco de dados trata o XML como um bloco de texto, sem conhecer sua estrutura interna, funcionando apenas como um repositório de dados.
SGBDs Habilitados para XML
SGBDs habilitados para XML leem e mapeiam a estrutura completa de um documento XML, criando tipos de dados abstratos que correspondem aos elementos do XML. Isso facilita o armazenamento e o processamento desses dados, permitindo que o banco de dados entenda e manipule a estrutura hierárquica do XML de forma mais eficiente.
Integrando XML com Banco de Dados via SQL
A linguagem SQL oferece operadores que geram resultados no padrão XML a partir de dados relacionais. Exemplos incluem: XMLELEMENT, que transforma valores do modelo relacional em uma estrutura XML; e XMLFOREST, que cria uma lista (floresta) de elementos XML, onde cada operador gera um novo elemento, facilitando a conversão de dados relacionais para XML.


