Criar ficheiros XML a partir de bases de dados relacionais
Por vezes, seguir um exemplo criado por outra pessoa é uma boa forma de iniciar rapidamente um projeto. A desvantagem é que poderá perder uma solução melhor e mais eficiente. No nosso artigo recente sobre "XML na Nuvem", utilizamos o DatabaseSpy para nos conectarmos a uma base de dados MySQL local e ao serviço Amazon Relational Database Service na nuvem. Utilizamos a função Concat() numa instrução SQL SELECT para criar uma saída formatada em XML a partir de dados que não estão em formato XML, como demonstrado abaixo.
![]()
A nossa instrução SELECT foi baseada num exemplo presente na documentação do MySQL sobre o suporte a XML. Vamos analisar um pouco mais a fundo o problema que esta afirmação tenta resolver. Pode copiar uma tabela de resultados do DatabaseSpy, como a que está mostrada acima, e colá-la numa janela de edição no XMLSpy, mas a tabela de resultados, por si só, não cria um documento XML válido. Para estar bem estruturado, de acordo com a definição da W3C, Um documento XML deve conter um elemento raiz. Todos os outros elementos e estruturas lógicas devem estar contidos dentro do elemento raiz. Pode também considerar o elemento raiz como um "invólucro" que envolve todo o conteúdo XML, da mesma forma que o elemento
![]()
Quando clicamos no botão "Exportar", o DatabaseSpy formata os dados relacionais utilizando nomes de elementos XML derivados dos nomes das colunas da tabela e envia o resultado diretamente para o XMLSpy. A captura de ecrã abaixo mostra uma parte do ficheiro no XMLSpy. A janela "Mensagens", localizada na parte inferior, confirma que o ficheiro está corretamente formatado.
![]()
Note que o DatabaseSpy forneceu o elemento raiz Concat() complexa. Começámos este artigo para responder a um requisito simples: a necessidade de um elemento raiz para completar a saída da função Concat() que descrevemos anteriormente. Quando projetos reais exigem a conversão de bases de dados relacionais para XML, os requisitos tendem a ser muito mais complexos.
O Altova XMLSpy conecta-se diretamente a todas as bases de dados mais populares para trabalhar com tecnologias XML e dados relacionais. O XMLSpy permite criar facilmente um esquema XML a partir da estrutura de uma base de dados, ou criar um esquema de base de dados a partir de um esquema XML. O XMLSpy também inclui editores e depuradores avançados para XQuery e XPath, para XML armazenado diretamente nas bases de dados, juntamente com suporte especializado para funcionalidades XML no Microsoft SQL Server, IBM DB2 e bases de dados Oracle. À medida que mais setores adotam e desenvolvem padrões baseados em XML para a troca de informações, uma necessidade comum é converter dados armazenados em bases de dados antigas para XML. O Altova MapForce conecta-se a bases de dados e permite mapear e transformar dados relacionais para que sejam compatíveis com um ou mais esquemas XML.
Pode utilizar a sua configuração para realizar uma conversão de dados única, pode guardar e voltar a abrir a configuração para realizar outra conversão mais tarde, ou pode instruir o MapForce a gerar código fonte livre de royalties a partir da sua configuração, para incluir no seu próprio projeto quando forem necessárias conversões repetidas.
Se quiser verificar pessoalmente como as ferramentas da Altova conseguem gerar XML bem formatado a partir de bases de dados relacionais, descarregue uma versão de avaliação gratuita do Altova MissionKit.