Mapeamento de dados com funções matemáticas XSLT3
O XSLT3 adiciona funções trigonométricas e outras funções matemáticas avançadas, novas funções de formatação, funções para recolher variáveis de ambiente, e muito mais, expandindo os padrões de transformação XML XSLT e XSLT2. Analistas de dados e outros profissionais da área podem utilizar as funções do XSLT3 para resolver desafios relacionados ao mapeamento e à integração de dados XML que exigem cálculos matemáticos complexos. Vamos analisar alguns exemplos do MapForce Mapeamento de dados com XSLT3 funções matemáticas que utilizam trigonometria e outras expressões matemáticas complexas.

O MapForce oferece motores de processamento internos, personalizados para diferentes tipos de dados e aplicações.

Quando seleciona o motor XSLT3, as funções apresentadas abaixo são adicionadas à janela da Biblioteca de Funções e ficam disponíveis para o mapeamento de dados

Por exemplo, podemos criar um mapeamento de dados que gere funções seno, cosseno e tangente para valores de entrada armazenados num ficheiro XML. A lista original foi fornecida num ficheiro CSV, que importámos para o XMLSpy, o software mais vendido a nível mundial Editor de JSON e XML, para conversão para formato XML.
Começamos a criação do mapeamento no MapForce importando os esquemas XML para os ficheiros de entrada e saída, e depois conectando os elementos raiz. Neste ponto, é importante selecionar o tipo de conexão "orientado ao destino" padrão. Isto permite-nos personalizar cada conexão subsequente.

Em seguida, conectamos os elementos "Row", arrastamos as funções trigonométricas da biblioteca e conectamos o elemento "xvalue" da fonte a cada função e a cada elemento de saída. Aqui está o mapeamento de dados completo:

Ao clicar no botão "Saída" localizado abaixo do painel de mapeamento, o ficheiro de entrada é processado, o resultado é gerado e a janela de visualização é aberta.

Neste exemplo, os valores de entrada variam de zero a 15, em incrementos de décimos, e a saída contém o seno, o cosseno e a tangente correspondentes a cada valor. Podemos guardar o ficheiro e abri-lo no XMLSpy, para aproveitar a visualização em grade do XMLSpy, criar um gráfico altamente personalizado e, até mesmo, exportar o gráfico para o incluir num relatório ou apresentação

Mapeamento de dados com XSLT3 para a criação de expressões complexas
Pode combinar as funções XSLT3 com outras funções da biblioteca para criar expressões complexas. Por exemplo, digamos que queremos aplicar uma equação quadrática como y = 4x² – 3 a uma lista de valores de entrada. Podemos criar um mapeamento que combine a função pow do XSLT3 (para a exponenciação) com as funções básicas da biblioteca para multiplicação e adição.

Note que a sequência de funções na correspondência define explicitamente a ordem de processamento implícita na expressão: primeiro a exponenciação, depois a multiplicação e, por fim, a subtração. Se a expressão utilizasse parênteses para alterar a ordem de processamento padrão, modificaríamos a sequência de funções na correspondência para definir a ordem de processamento desejada.
Talvez queiramos aplicar um conjunto de valores de entrada a várias variações da expressão e comparar os resultados. Podemos criar uma função para o utilizador que descreva a expressão, e podemos modificar a estrutura do ficheiro de saída para registar o expoente, o multiplicador e o modificador utilizados para gerar cada ficheiro de saída.
Aqui está a estrutura desejada para cada ficheiro de saída gerado pelas diferentes versões da expressão:

A função definida pelo utilizador receberá os valores de 'x' a partir do ficheiro XML de entrada, calculará a expressão e também transmitirá os parâmetros da função para serem registados na saída.

Aqui está o mapeamento completo, com a expressão utilizada numa função do utilizador:

E o ficheiro de saída gerado:

Uma função de utilizador pode ser facilmente inserida noutras mapeações ou partilhada entre vários utilizadores do MapForce. Para criar uma função de utilizador, começamos por selecionar as funções que definem a expressão e, em seguida, clicamos no menu principal "Função":

Aqui está a nossa definição final da função do utilizador:

Se o seu projeto de mapeamento e integração de dados requer o mapeamento de dados com XSLT3, fortrigonometry ou outras funções avançadas de XSLT3, consulte o MapForce, a ferramenta gráfica de mapeamento de dados, vencedora de prémios, para qualquer tipo de conversão e integração de dados. Descarregue uma versão de avaliação gratuita do MapForce, que inclui tutoriais, ajuda e muitos exemplos!