XML-Datenabbildung und -transformation mit Wildcards in MapForce
MapForce 2014 unterstützt jetzt die Zuordnung von XML-Platzhaltern, wodurch ein integrierter Erweiterungsmechanismus für XML-Schemata entsteht, der als xs:any oder xs:anyAttribute implementiert ist.
Betrachten Sie diesen XML-Ausschnitt, wie er in XMLSpy angezeigt wird:

Dieser kleine Ausschnitt aus einer sehr langen Datei zeigt zwei Wegpunkte, die während einer Autofahrt von einem Garmin-GPS-Gerät aufgezeichnet wurden. Die XML-Daten folgen dem GPX-XML-Schema und enthalten Erweiterungen von Garmin, um Geschwindigkeits- und Kursangaben hinzuzufügen. Dank der XML-Wildcard-Zuordnung können Sie diese Erweiterungen in MapForce genauso zuordnen wie alle anderen Elemente, die explizit im XML-Schema definiert sind.
Nehmen wir an, wir möchten eine .gpx-Datei lesen und die höchste während einer Fahrt erreichte Geschwindigkeit extrahieren
!--mehr--
Wir können ein neues MapForce-Mapping-Design starten, indem wir eine .gpx-Datei als Eingabekomponente hinzufügen. MapForce zeigt eine Übersicht über alle Elemente an, die im zugehörigen XML-Schema definiert sind und für das Mapping verfügbar sind. Der Screenshot unten zeigt den Abschnitt des XML-Schemas für Wegpunkte:

Breitengrad, Längengrad, Höhe und Zeit werden unmittelbar nach dem Element "trkpt" angegeben und definieren die Daten, die im XML-Fragment enthalten sind. Die folgenden Elemente – von der magnetischen Deklination "magvar" bis zur ID der DGPS-Station "dgpsid" – sind alle optional und kommen nicht in der Garmin-Datendatei vor.
Die Elemente für Geschwindigkeit und Kurs werden in diesem XML-Schema überhaupt nicht definiert. Stattdessen werden Geschwindigkeit und Kurs basierend auf xs:any am Ende des Bildes erlaubt. Durch Klicken auf das Symbol neben xs:any öffnet sich ein Dialog, der es uns ermöglicht, ein weiteres XML-Schema zu importieren, das die Erweiterungen definiert, und eine Art "Hülle" zu erstellen, um das ursprüngliche XML-Schema und die Erweiterungen zu kombinieren. Nach dem Import werden die neuen Elemente im Quellkomponentenbereich angezeigt und können zugeordnet werden:

Sortieren von Daten in der Zuordnung
Die mit MapForce installierten Beispiel-Dateien enthalten eine Mapping-Datei namens "FindHighestTemperatures.mfd", die wir als Beispiel verwenden können, um die höchste Geschwindigkeit aus unserer Datei zu extrahieren, und zwar mithilfe einer Sortierfunktion:

Diese Funktion sortiert alle Geschwindigkeitswerte von hoch nach niedrig und gibt dann nur den ersten Wert aus. Der angezeigte Sortierschlüssel "Z-A" sortiert numerische Daten automatisch von den höchsten zu den niedrigsten Werten.
Umwandlung von Werten in der Zuordnung
Abschließend müssen wir die Geschwindigkeit von Metern pro Sekunde in Meilen pro Stunde umrechnen, das Ergebnis auf zwei Dezimalstellen runden und einen beschreibenden Text hinzufügen:

Das Ergebnis der oben gezeigten String-Verkettungsfunktion wird in die Textdatei geschrieben, die als Ausgabe dient:

Bitte beachten Sie, dass wir die Geschwindigkeit nicht explizit von einem numerischen Datentyp in einen String umwandeln mussten, als wir zwischen Funktionen wechselten. MapForce übernimmt die Datentypumwandlung automatisch. Hier ist eine vereinfachte Ansicht der vollständigen Zuordnung mit Anmerkungen zu den wichtigsten Operationen:

Klicken Sie auf das Bild oder klicken Sie hier für eine Ansicht in Originalgröße.
Die Altova-Website bietet kostenlose Online-Schulungen für MapForce. Sie können sogar eine kostenlose Testversion von MapForce herunterladen und noch heute damit beginnen, Ihre Fähigkeiten im Bereich Datenmapping und -transformation zu verbessern!