Mappatura e trasformazione dei dati XML con caratteri jolly in MapForce
MapForce 2014 supporta ora la mappatura dei caratteri jolly XML, che creano un meccanismo di estensione integrato per gli schemi XML, implementato come xs:any o xs:anyAttribute.
Considerate questo frammento XML visualizzato in XMLSpy:

Questa piccola porzione di un file molto lungo mostra due punti di percorso registrati durante un viaggio in auto da un dispositivo GPS Garmin. I dati XML seguono lo schema XML GPX, con estensioni specifiche di Garmin per aggiungere valori di velocità e direzione. La mappatura tramite caratteri jolly in XML consente di mappare queste estensioni in MapForce esattamente come qualsiasi altro elemento definito esplicitamente nello schema XML.
Supponiamo di voler leggere un file .gpx ed estrarre la velocità massima registrata durante un viaggio
!--altro--
Possiamo iniziare una nuova progettazione di mappatura in MapForce importando un file .gpx come componente di input. MapForce presenta una visualizzazione di tutti gli elementi definiti nello schema XML corrispondente e disponibili per la mappatura. Lo screenshot qui sotto mostra la parte dello schema XML relativa ai punti del percorso:

La latitudine, la longitudine, l'altitudine e l'ora compaiono immediatamente dopo l'elemento "trkpt" e definiscono i dati presenti nel frammento XML. Gli elementi successivi, a partire da "magvar" (variazione magnetica) fino a "dgpsid" (ID della stazione DGPS), sono tutti opzionali e non compaiono nel file dati Garmin.
Gli elementi relativi alla velocità e al percorso non sono definiti in questo schema XML. Invece, velocità e percorso sono consentiti grazie all'elemento xs:any presente in fondo all'immagine. Cliccando sull'icona accanto a xs:any, si apre una finestra di dialogo che permette di importare un altro schema XML che definisce le estensioni, e di creare un "wrapper" per combinare lo schema XML originale con le estensioni. Dopo l'importazione, i nuovi elementi vengono visualizzati nel componente sorgente e possono essere mappati

Ordinamento dei dati nella mappa
I file di esempio installati con MapForce includono una mappatura chiamata FindHighestTemperatures.mfd, che possiamo utilizzare come esempio per estrarre la velocità massima dal nostro file, utilizzando una funzione di ordinamento:

Questa funzione ordina tutti i valori di velocità dal più alto al più basso, quindi invia solo il primo valore come output. La chiave di ordinamento visualizzata come "Z-A" ordina automaticamente i dati numerici dai valori più alti a quelli più bassi.
Conversione dei valori nella mappatura
Infine, dobbiamo convertire la velocità da metri al secondo a miglia all'ora, arrotondare il risultato a due cifre decimali e aggiungere un testo descrittivo

Il risultato della funzione di concatenazione di stringhe mostrata sopra viene scritto nel file di testo di output:

Si noti che non è stato necessario convertire esplicitamente la velocità da un tipo di dato numerico a una stringa durante il passaggio tra le diverse funzioni. MapForce gestisce automaticamente la conversione del tipo di dato. Di seguito è riportata una versione ridotta della mappatura completa, con annotazioni delle operazioni principali:

Clicca sull'immagine oppure clicca qui per visualizzarla a grandezza naturale.
Il sito web di Altova include corsi di formazione online gratuiti per MapForce. Potete anche scaricare una versione di prova gratuita di MapForce e iniziare subito a migliorare le vostre competenze nella mappatura e trasformazione dei dati!