XML-Mapping

Converter dados XML

  • Mapeamento por arrastar e soltar entre componentes
  • Suporta modelos de conteúdo XML Schema e DTD
  • Gera um esquema XML a partir de um documento de exemplo
  • Bibliotecas XSLT 1.0/2.0/3.0 e funções de processamento de dados
  • Suporte para assinaturas digitais XML
  • Suporte para caracteres curinga em XML (xs:any e xs:anyAttribute)
  • Suporte para comentários e instruções de processamento
  • Converter XML com XSLT

Criar um mapeamento XML

O MapForce suporta mapeamentos XML baseados em modelos de conteúdo XML Schema ou DTD. Para criar um mapeamento XML, basta carregar dois ou mais schemas no MapForce e arrastar linhas de conexão entre os nós da fonte e do destino. O suporte a conteúdo misto permite até mesmo mapear dados de texto que estão intercalados com XML.

Se não tiver um esquema associado a um documento de instância XML, o MapForce gera automaticamente um esquema XML a partir desse documento.

MapForce: Mapeamento XML

O MapForce suporta transformações XML avançadas entre múltiplos esquemas de entrada e saída, múltiplos ficheiros de origem e/ou destino, ou transformações avançadas de dados em várias etapas (de esquema para esquema, para esquema, etc.)

Depois de definir as suas regras de mapeamento XML e de processamento de dados, pode carregar um ficheiro de origem, e o motor de execução integrado do MapForce converterá instantaneamente os dados para o novo formato.

O MapForce também gera automaticamente folhas de estilo XSLT 1.0, XSLT 2.0 ou XSLT 3.0, que podem ser utilizadas para transformar dados em vários documentos XML, com base no esquema de origem, de forma a que estes se conformem ao esquema XML de destino.

Aprenda como converter XML para XML e para outros formatos no MapForce

Além do mapeamento XML, o MapForce suporta também.. mapear qualquer combinação de XML, JSON, PDF, bases de dados, EDI, XBRL, ficheiros simples, Excel, Protobuf e/ou dados de serviços web, para criar aplicações de integração de dados ou serviços web.

Visualização da saída do mapeamento XML

Ao criar um projeto de mapeamento XML, o motor MapForce integrado permite visualizar e guardar o código XSLT 1.0, XSLT 2.0, XSLT 3.0 ou XQuery gerado automaticamente, com apenas um clique. Também pode clicar na aba "Saída" para visualizar o resultado real gerado pelo seu mapeamento XML.

A captura de ecrã abaixo mostra a saída XML e a folha de estilos XSLT 2.0 gerada para o mapeamento XML ilustrado acima.

Saída do mapeamento XML do MapForce

Mapeamento XML com Assinaturas Digitais

As assinaturas digitais são uma especificação da W3C que permite assinar digitalmente um documento XML com um código encriptado, que pode ser utilizado para verificar se o documento XML não foi alterado. A funcionalidade de assinatura XML no MapForce suporta apenas certificados dos tipos RSA-SHA1 e DSA-SHA1.

O MapForce permite a criação de assinaturas digitais XML para ficheiros de saída XML e XBRL. Uma assinatura é criada para o ficheiro de resultado gerado quando o botão de saída é pressionado, e o ficheiro de resultado com a assinatura pode ser guardado.

As assinaturas digitais podem ser incorporadas como o último elemento do documento final ou armazenadas num ficheiro de assinatura separado.

  • Se a opção "Envolvido" for selecionada, então a assinatura é o último elemento filho abaixo do elemento raiz do ficheiro XML.
  • Se a opção "Desanexado" for selecionada, o ficheiro de assinatura será gerado como um documento separado.

A imagem à direita mostra uma assinatura digital no final do ficheiro de resultados, gerada utilizando a opção "envolvente".

Mapeamento XML com o MapForce, utilizando assinaturas digitais

Validade de um documento XML

Se uma assinatura XML estiver incorporada no documento XML, um elemento "Signature" no espaço de nomes http://www.w3.org/2000/09/xmldsig# é adicionado ao documento XML. Para que o documento permaneça válido de acordo com um esquema, o esquema deve conter as declarações de elementos apropriadas. Se não desejar modificar o esquema do documento XML, a assinatura XML pode ser criada num ficheiro externo, utilizando a opção "Desanexada".

Suporte para caracteres curinga em XML

O elemento `<xs:any>` e o elemento `<xs:anyAttribute>` num esquema XML permitem que qualquer novo elemento ou atributo seja colocado na posição correspondente num documento XML, mesmo que o novo elemento ou atributo não esteja definido no esquema XML. Isto é conhecido como um "caractere curinga" em XML e é um mecanismo popular utilizado para permitir um certo grau de personalização em muitos esquemas XML que suportam padrões da indústria em uma vasta gama de empresas.

O MapForce suporta os elementos `<xs:any>` e `<xs:anyAttribute>` para mapear dados para a saída em XML ou qualquer outro formato. Um botão de seleção, localizado ao lado de `<xs:any>` ou `<xs:anyAttribute>` num componente de entrada de mapeamento XML, abre uma caixa de diálogo de seleção de caracteres curinga.

O elemento `<xs:any>`, bem como o `<xs:anyAttribute>`, são frequentemente utilizados no design de esquemas XML, e o suporte a estes elementos no MapForce tem sido uma solicitação frequente por parte dos utilizadores.

Mapeamento de XML para e a partir de bases de dados

O MapForce oferece um suporte poderoso para a mapeamento de bases de dados, incluindo a possibilidade de mapear dados de qualquer base de dados para XML, ficheiros simples, EDI, Excel (OOXML), XBRL, serviços web e até mesmo para outros formatos de base de dados.

Quando carrega a estrutura de uma base de dados na janela de design, o MapForce interpreta automaticamente o esquema da base de dados, permite-lhe selecionar as tabelas e vistas disponíveis e reconhece as relações entre as tabelas.

Mapeamento de bases de dados com o MapForce

Depois de ter carregado todos os modelos de conteúdo XML e outros necessários para o mapeamento da sua base de dados, complete o mapeamento simplesmente arrastando linhas de ligação entre as estruturas de origem e de destino.

Suportado Bases de dados relacionais:

  • Firebird
  • IBM DB2 for iSeries®
  • IBM DB2®
  • Informix®
  • MariaDB
  • Microsoft Access™
  • Microsoft® Azure SQL
  • Microsoft® SQL Server®
  • MySQL®
  • Oracle®
  • PostgreSQL
  • Progress OpenEdge
  • SQLite
  • Sybase® ASE
  • Teradata

Suportado Bases de dados NoSQL:

  • MongoDB
  • CouchDB

O MapForce suporta todas as principais bases de dados relacionais, bem como bases de dados NoSQL populares, permitindo-lhe criar designs gráficos de mapeamento de dados entre fontes de dados de bases de dados, funções e filtros de processamento de dados, e outras estruturas de dados de vários tipos.

Funcionalidades de mapeamento de bases de dados:

  • Consultas a bases de dados em todas as principais plataformas
  • Mapear dados de qualquer tipo de base de dados suportada para qualquer outro tipo
  • Especificar as configurações da chave do banco de dados
  • Definir ações para as tabelas do banco de dados
  • Consultar diretamente as bases de dados
  • Conecte-se e mapeie os dados XML para os campos do banco de dados
  • Ordenar os componentes de entrada do banco de dados

Filtragem e processamento de dados de bases de dados

Muitas mapeações de bases de dados exigem a manipulação de dados entre a fonte e o destino, com base em condições booleanas ou em instruções SQL e SQL/XML. Pode ser necessário realizar comparações lógicas, cálculos matemáticos ou operações com strings, verificar se os dados da base de dados correspondem a um determinado valor e efetuar outras modificações nos dados. Na captura de ecrã acima, as funções de processamento de dados aparecem como os retângulos entre as linhas que ligam o modelo de dados de origem e o modelo de dados de destino.

As funções de processamento de dados permitem realizar mapeamentos avançados de bases de dados em tempo real, para uma vasta gama de necessidades de transformação. Por exemplo, pode criar mapeamentos de bases de dados que utilizem mensagens XML ou EDI para extrair linhas da base de dados com base em critérios de filtragem provenientes dos elementos XML ou EDI.

As associações entre bases de dados e XML geram um documento de saída em formato XML. As associações entre bases de dados e ficheiros simples têm como saída ficheiros CSV ou ficheiros de texto de comprimento fixo. As associações entre bases de dados e EDI podem gerar mensagens EDIFACT, X12 ou HL7. As associações entre bases de dados e Excel produzem marcação Office Open XML (OOXML), e as associações para XBRL geram relatórios financeiros em formato XBRL.

A conversão de ficheiros XML para um banco de dados gera resultados na forma de scripts SQL (por exemplo, instruções SELECT, INSERT, UPDATE e DELETE) que são executados diretamente no seu banco de dados, a partir do próprio MapForce.

Mapeamento de dados XBRL

A Linguagem de Relato Empresarial Extensível (XBRL) é uma linguagem de marcação baseada em XML, utilizada para a transmissão eletrónica de dados empresariais e financeiros.

O MapForce suporta a utilização de taxonomias XBRL como fonte ou destino de qualquer mapeamento, permitindo-lhe transformar graficamente dados contabilísticos internos num formato compatível, sem qualquer risco para a sua integridade semântica ou estrutural, e/ou integrar dados de relatórios para análise financeira.

Mapeamento XBRL no MapForce

O suporte para a mapeamento de ficheiros de execução e a geração de código em Java, C# ou C++ significa que também pode automatizar a conversão de dados financeiros com base no design de mapeamento gráfico. Isto torna a submissão de dados financeiros públicos um processo repetível e altamente gerível, permitindo-lhe gerar relatórios XBRL válidos, conforme necessário, com base nos dados variáveis armazenados nos campos do sistema de contabilidade.

Desenvolvimento de mapeamentos XBRL

Para criar um mapeamento XBRL com base numa taxonomia existente, basta inserir a estrutura da sua taxonomia no painel de design do MapForce. O MapForce irá exibir uma representação gráfica da estrutura do ficheiro, mostrando os conceitos da taxonomia, hipercubos, elementos abstratos, períodos, identificadores, etc., com ícones intuitivos.

O componente XBRL extrai informações estruturais e semânticas das bases de dados associadas e apresenta-as numa hierarquia que pode ser facilmente interpretada, expandida ou reduzida, conforme necessário.

Filtragem e processamento de dados XBRL

O MapForce oferece suporte flexível para a filtragem e o processamento de dados, através de funções avançadas que se baseiam em condições booleanas ou que manipulam os dados durante a conversão do formato de origem para o formato de destino.

Por exemplo, como os dados XBRL são, essencialmente, lineares, é frequentemente necessário aplicar funções de agrupamento que combinam os dados de origem em grupos e, em seguida, processar esses grupos para transformar os dados numa estrutura hierárquica. Isto é facilitado pelas funções de agrupamento na biblioteca de funções MapForce.

Mapeamentos de dados de um para muitos e encadeados

O MapForce é uma ferramenta de mapeamento XML extremamente flexível, ideal para projetos complexos de integração e conversão de dados. As fontes de dados e os destinos de um mapeamento podem ter formatos diferentes, incluindo qualquer combinação de XML, bases de dados, ficheiros simples, EDI, Excel, XBRL, Shopify/GraphQL e serviços web. Um mapeamento de dados pode ter uma única fonte mapeada para um único destino, uma única fonte para múltiplos destinos, múltiplas fontes para um único destino, ou múltiplas fontes para múltiplos destinos, tudo isso em diferentes formatos de dados.

Mapeamento encadeado no MapForce

O MapForce permite integrar dados de vários ficheiros e fontes de dados, ou dividir dados de uma única fonte em múltiplas saídas. Vários ficheiros podem ser especificados através do suporte a caracteres de substituição (por exemplo, ? ou *) nos nomes dos ficheiros, uma tabela de base de dados, sequências de números automáticos ou outros métodos. Esta funcionalidade é muito útil numa grande variedade de cenários de integração de dados; por exemplo, pode ser necessário integrar dados de uma coleção de ficheiros ou gerar ficheiros XML individuais para cada registo de uma tabela principal numa grande base de dados.

O MapForce também permite utilizar nomes de ficheiros como parâmetros nos seus projetos de integração de dados. Isto permite criar mapeamentos dinâmicos nos quais nomes de ficheiros específicos são definidos em tempo de execução.

Mapeamento de dados encadeados

As transformações encadeadas permitem criar mapeamentos complexos nos quais a saída de um mapeamento se torna a entrada de outro. Esta funcionalidade poderosa aumenta a capacidade do MapForce para executar transformações totalmente automatizadas. Cada componente encadeado torna-se uma entidade modular numa sequência de transformação interdependente, permitindo que as conversões sejam realizadas em tempo real.

É possível criar transformações encadeadas utilizando qualquer número de componentes de mapeamento conectados a um componente de destino final. É possível visualizar ou gerar código para os componentes intermediários, bem como para o resultado final do mapeamento.

Automatize a execução de mapeamentos XML com o MapForce Server

Altova MapForce Server inclui o motor de transformação de dados integrado, desenvolvido para o MapForce, e foi significativamente aprimorado para funcionar em ambientes de servidor. O MapForce Server realiza.. transformações de dados para qualquer combinação de XML, bases de dados, EDI, XBRL, ficheiros simples, Excel, JSON, Protocol Buffers e/ou serviços web, utilizando mapeamentos de dados pré-processados e otimizados, armazenados em ficheiros de execução e baseados em.. definições de mapeamento de dados no MapForceO MapForce Server eleva a transformação de dados a um novo patamar, oferecendo funcionalidades de servidor que incluem processamento paralelo, multithreading, inserção em lote de dados SQL, suporte a diferentes plataformas, entre outras.

A pré-processamento permite um desempenho mais rápido e uma utilização de memória reduzida para a maioria das mapeamentos de dados. O MapForce Server funciona sob a gestão do FlowForce Server, podendo ser executado de forma autónoma a partir da linha de comandos ou, de forma programática, através de uma API.

Após a criação e testes de um mapeamento XML no MapForce, este pode ser executado pelo MapForce Server para automatizar processos de negócio que exigem transformações de dados repetitivas.

Criar um ficheiro de execução do MapForce Server

O MapForce pré-processa e otimiza as definições de mapeamento de dados XML, armazena-as em ficheiros de execução do MapForce Server para execução a partir da linha de comandos pelo MapForce Server, e as carrega para utilização em tarefas do FlowForce Server.

Quando o MapForce Server funciona sob a gestão do FlowForce Server, as transformações de dados são executadas como etapas de um processo do FlowForce Server, com base em gatilhos definidos como parte desse processo. Por exemplo, um novo documento XML é colocado numa pasta, o que desencadeia um processo do FlowForce Server com várias etapas: primeiro, o ficheiro é validado usando o RaptorXML+XBRL Server, e depois o MapForce Server é executado para extrair determinados dados do XML e inseri-los numa base de dados.