---
title: "Mapeamento e transformação de dados XML com caracteres curinga no MapForce"
date: "2013-12-17"
categories: 
  - "data-integration"
  - "xml"
tags: 
  - "data-mapping"
  - "mapforce"
  - "xml-schema"
  - "xmlspy"
description: Descubra como o MapForce 2014 permite o mapeamento e a transformação de dados XML com caracteres curinga, permitindo a integração perfeita de extensões XML personalizadas.
---
Status: #blog

Tags:  #data-mapping #mapforce #xml-schema #xmlspy

Categories: [data-integration](/blog/pt/category/data-integration.md) | [xml](/blog/pt/category/xml.md)
# Mapeamento e transformação de dados XML com caracteres curinga no MapForce

[MapForce 2014](https://www.altova.com/pt/mapforce.html) agora suporta o mapeamento de caracteres curinga XML, o que permite criar um mecanismo de extensão integrado para esquemas XML, implementado como xs:any ou xs:anyAttribute.

Considere este fragmento XML visualizado no programa [XMLSpy](https://www.altova.com/pt/xmlspy.html):

![Fragmento de um documento XML que segue o esquema XML GPX](https://lh6.ggpht.com/-Pu0lWwmXn9U/Uq8slWp5aeI/AAAAAAAABvY/8Mo49sFdmvI/clip_image001%25255B3%25255D.png?imgmax=800 "Fragment of an XML document following the GPX XML Schema")

Esta pequena parte de um ficheiro muito extenso mostra dois pontos de trajetória registados durante uma viagem de carro por um dispositivo GPS da Garmin. Os dados XML seguem o esquema XML [GPX](http://www.topografix.com/gpx.asp), com extensões da Garmin para adicionar valores de velocidade e direção. O mapeamento de caracteres curinga em XML permite mapear estas extensões no MapForce, tal como qualquer outro elemento definido explicitamente no esquema XML.

Vamos supor que queremos ler o ficheiro .gpx e extrair a velocidade máxima registada para uma viagem:

![Resultado do mapeamento concluído](https://lh5.ggpht.com/--tVPorv4xiI/Uq8sl13WPpI/AAAAAAAABvc/a9gkXoF2-D4/clip_image002%25255B5%25255D.png?imgmax=800 "Output of the completed mapping")!--mais--

Podemos iniciar um novo projeto de mapeamento no MapForce ao importar um ficheiro .gpx como componente de entrada. O MapForce apresenta uma visão de todos os elementos definidos no esquema XML correspondente e disponíveis para mapeamento. A captura de ecrã abaixo mostra a parte do esquema XML relativa aos pontos de trajetória:

![Os elementos filhos de "trkpt" são exibidos no mapeamento do MapForce](https://lh5.ggpht.com/-5gbBfYhyIU8/Uq8smBoBIlI/AAAAAAAABvk/52Vflk2Ewh0/clip_image003%25255B3%25255D.png?imgmax=800 "Child elements of trkpt displayed in the MapForce mapping")

A latitude, a longitude, a altitude e a hora aparecem imediatamente após o elemento "trkpt" e definem os dados presentes no fragmento XML. Os seguintes elementos – desde a variação magnética ("magvar") até o ID da estação DGPS ("dgpsid") – são todos opcionais e não aparecem no ficheiro de dados da Garmin.

Os elementos de velocidade e trajetória não estão definidos neste esquema XML. Em vez disso, a velocidade e a trajetória são permitidos com base em `xs:any` no final da imagem. Clicar no ícone ao lado de `xs:any` abre uma janela de diálogo que permite importar outro esquema XML que define as extensões e cria um "wrapper" para combinar o esquema XML original com as extensões. Após a importação, os novos elementos são exibidos no componente de origem e podem ser mapeados:

![Elementos de extensão exibidos no mapeamento](https://lh5.ggpht.com/-t-yViZ09FFc/Uq8sm6BuQjI/AAAAAAAABvs/UjuLJ3zTygs/clip_image004%25255B3%25255D.png?imgmax=800 "Extension elements displayed in the mapping")

### Organização de dados no mapeamento

Os ficheiros de exemplo instalados com o MapForce incluem um mapeamento chamado FindHighestTemperatures.mfd, que podemos usar como exemplo para extrair a velocidade máxima do nosso ficheiro, utilizando uma função de ordenação:

![O MapForce organiza e extrai o valor de velocidade mais elevado](https://lh6.ggpht.com/-5roljpZ1gVA/Uq8snIIq-RI/AAAAAAAABvw/71mlatBdiL4/clip_image005%25255B3%25255D.png?imgmax=800 "MapForce sorts and extracts the highest speed value")

Esta função ordena todos os valores de velocidade, do mais alto para o mais baixo, e, em seguida, envia apenas o primeiro valor para a saída. A opção de ordenação "Z-A" (de Z a A) ordena automaticamente dados numéricos do valor mais alto para o valor mais baixo.

### Converter valores no mapeamento

Finalmente, precisamos converter a velocidade de metros por segundo para milhas por hora, arredondar o resultado para duas casas decimais e adicionar algum texto descritivo:

![Conversão de metros por segundo para milhas por hora no MapForce](https://lh3.ggpht.com/-aMdIjCf2hmA/Uq8sndGqSsI/AAAAAAAABv8/ws9-WLt0HhI/clip_image006%25255B3%25255D.png?imgmax=800 "MapForce conversion of meters per second to miles per hour")

O resultado da função de concatenação de strings mostrada acima é escrito no ficheiro de texto de saída:

![Pré-visualização do mapeamento completo dos dados](https://lh3.ggpht.com/-PtjzqAx0Pw8/Uq8sn6s4ZcI/AAAAAAAABwE/-bakYlMPqhE/clip_image002%25255B1%25255D%25255B2%25255D.png?imgmax=800 "Output preview of the complete data mapping")

Note que não foi necessário converter explicitamente a velocidade de um tipo de dado numérico para uma string à medida que passámos de uma função para outra. O MapForce trata automaticamente a conversão do tipo de dado. Aqui está uma visão simplificada do mapeamento completo, com comentários sobre as principais operações:

[![Mapeamento de dados do MapForce para caracteres curinga XML](https://lh3.ggpht.com/-xOHuzpDih5Y/Uq8soYR65qI/AAAAAAAABwI/MusDgpCMxj0/clip_image007%25255B4%25255D.png?imgmax=800 "MapForce data mapping of XML wildcards")](https://www.altova.com/images/screenshots/MapForce-XML-wildcard-mapping.PNG)

Clique na imagem ou [clique aqui para ver a imagem em tamanho completo](https://www.altova.com/pt/images/screenshots/MapForce-XML-wildcard-mapping.PNG).

**O site da Altova inclui [formação online gratuita](https://www.altova.com/pt/aot/online-training.html) para o MapForce. Pode até mesmo [descarregar uma versão de avaliação gratuita](https://www.altova.com/pt/download-trial.html) do MapForce e começar a aprimorar as suas competências em mapeamento e transformação de dados já hoje!**
