XML-Mapping

Mappen und Transformieren von XML-Daten

  • Drag-and-Drop Mapping zwischen Komponenten
  • Unterstützung von XML-Schema- und DTD-Inhaltsmodellen
  • Generierung von XML-Schemas anhand von Instanzdokumenten
  • XSLT 1.0/2.0-Bibliotheken und komplexe Datenverarbeitungsfunktionen
  • Unterstützung für digitale XML-Signaturen
  • Unterstützung für XML Wildcards (xs:any und xs:anyAttribute)
  • Unterstützung für Kommentare und Verarbeitungsanweisungen
  • Generierung von XSLT 1.0/2.0 Stylesheets oder Quellcode

Erstellung eines XML-Mappings

MapForce unterstützt XML-Mappings auf Basis von XML-Schema- oder DTD-Inhaltsmodellen. Laden Sie zur Erstellung eines XML-Mappings zwei oder mehrere Schemas in MapForce und ziehen Sie Verbindungslinien zwischen den Nodes in der Quell- und Zielkomponente. Dank der Unterstützung von gemischtem Inhalt können Sie sogar Textdaten zwischen XML-Nodes mappen.

Falls es kein Schema zu einem XML-Instanzdokument gibt, kann MapForce automatisch ein XML-Schema anhand eines XML-Instanzdokuments generieren.

MapForce XML-Mapping

MapForce unterstützt komplexe XML-Transformationen zwischen mehreren Input- und Output-Schemas, mehreren Quell- und/oder Zieldateien oder Transformationen in mehreren Schritten (von Schema zu Schema zu Schema usw.)

Nachdem Sie die XML-Mappings und Datenverarbeitungsfunktionen definiert haben, können Sie eine Quelldatei laden und der Built-In-Ausführungsprozessor von MapForce konvertiert die Daten sofort in das neue Format.

MapForce generiert auch automatisch XSLT 1.0 oder 2.0-Stylesheets zur Transformation von Daten in mehreren auf dem Quellschema basierenden XML-Dokumenten in das XML-Zielschema.

Neben XML-Mappings unterstützt MapForce außerdem Funktionen zum Mappen jeder beliebigen Kombination von XML-, Datenbank-, EDI-, XBRL-, Flat File-, Excel-, JSON-, Protocol Buffers- und/oder Webservice-Daten zum Erstellen von Datenintegrations- oder Webservice-Applikationen.

Anzeigen der XML-Mapping-Ausgabe

Mit Hilfe des integrierten MapForce-Prozessors können Sie den automatisch erzeugten XSLT 1.0/2.0 oder XQuery-Code während der Erstellung des XML-Mapping-Projekts mit einem Klick ansehen und speichern. Sie können auch auf das Register "Ausgabe" klicken, um die von Ihrem XML-Mapping generierte Ausgabe zu sehen.

In der Abbildung unten sehen Sie die XML-Ausgabe und das generierte XSLT 2.0-Stylesheet für das oben gezeigte XML-Mapping.

MapForce XML-Mapping-Ausgabe

XML-Mapping mit digitalen Signaturen

Bei digitalen Signaturen handelt es sich um eine Spezifikation des W3C zum digitalen Signieren eine XML-Dokuments mittels eines verschlüsselten Codes, anhand dessen überprüft werden kann, ob das XML-Dokument nach dem Signieren geändert wurde. Die XML-Signaturfunktion in MapForce unterstützt nur Zertifikate vom Typ RSA-SHA1 und DSA-SHA1.

MapForce unterstützt die Erstellung digitaler XML-Signaturen für XML- und XBRL-Ausgabedateien. Bei Betätigen der Schaltfläche "Ausgabe", wird eine Signatur für die generierte Ergebnisdatei generiert und die Ergebnisdatei mit der Signatur wird gespeichert.

Digitale Signaturen können als das letzte Element des Ausgabedokuments eingebettet oder in einer separaten Signaturdatei gespeichert werden.

  • Wenn die Option "Enveloped" ausgewählt wurde, so wird die Signatur als das letzte Child-Element unterhalb des Root-Elements der XML-Datei angehängt.
  • Wenn "Detached" ausgewählt wurde, so wird die Signatur als separates Dokument generiert.

Im Bild rechts sehen Sie eine digitale Signatur am Ender der Ergebnisdatei, die mit der Option "Enveloped" generiert wurde.

MapForce XML mapping with digital signatures

Gültigkeit von XML-Dokumenten

Bei Einbettung einer XML-Signatur in das XML-Dokument wird zum XML-Dokument ein Signaturelement im Namespace http://www.w3.org/2000/09/xmldsig# hinzugefügt. Damit das Dokument gemäß dem Schema gültig bleibt, muss das Schema die entsprechenden Elementdeklarationen enthalten. Wenn Sie das Schema des XML-Dokuments nicht anpassen möchten, kann die XML-Signatur mit der Optin "Detached" in einer externen Datei erstellt werden.

Unterstützung für XML Wildcards

Mittels <xs:any> und <xs:anyAttribute> in einem Schema-Design kann an der entsprechenden Stelle im XML-Instanzdokument ein beliebiges neues Element oder Attribut eingefügt werden, auch wenn das neue Element oder Attribut im XML-Schema nicht definiert ist. Diese so genannten XML Wildcards sind eine beliebte Methode, um XML-Schemas, die Standards für die verschiedensten Branchen unterstützen, anpassen zu können.

MapForce unterstützt beim Mappen auf XML oder andere Ausgabeformate <xs:any> und <xs:anyAttribute>. Über eine Auswahlschaltfläche neben <xs:any> oder <xs:anyAttribute> in einer XML-Input-Komponente wird ein Dialogfeld zur Auswahl der Wildcard geöffnet.

Die Unterstützung der im XML-Schema-Design häufig verwendeten <xs:any> und <xs:anyAttribute> Wildcards in MapForce wurden von vielen Benutzern gefragt.

XML-Mapping von und auf Datenbanken

MapForce unterstützt das Mappen von Datenbanken, sodass Sie Daten zwischen beliebigen Datenbankdaten und XML, Flat Files, EDI, Excel, XBRL, Webservices und sogar anderen Datenbankformaten mappen können.

Beim Laden einer Datenbankstruktur im Design-Fenster interpretiert MapForce automatisch das Datenbankschema, stellt Ihnen die verfügbaren Tabellen und Ansichten zur Auswahl und erkennt die Tabellenbeziehungen.

MapForce Datenbank-Mapping

Nach dem Laden aller XML-Daten und anderer Inhaltsmodelle für Ihr Datenbankmapping ziehen Sie nur mehr Verbindungslinien zwischen der Quell- und der Zielstruktur.

Unterstützte Datenbanken:

  • Firebird 2.5, 3
  • IBM DB2 for iSeries® v6.1, 7.1
  • IBM DB2® 8, 9.1, 9.5, 9.7, 10.1, 10.5
  • Informix® 11.70, 12.10
  • MariaDB 10, 10.3
  • Microsoft Access™ 2003, 2007, 2010, 2013
  • Microsoft® Azure SQL
  • Microsoft® SQL Server® 2005, 2008, 2012, 2014, 2016, 2017
  • MySQL® 5, 5.1, 5.5, 5.6, 5.7, 8
  • Oracle® 9i, 10g, 11g, 12c
  • PostgreSQL 8, 9.0.10, 9.1.6, 9.2.1, 9.4, 9.6, 10
  • Progress OpenEdge 11.6
  • SQLite 3.x
  • Sybase® ASE 15, 16
  • Teradata 16

MapForce unterstützt alle gängigen relationalen Datenbanken und ermöglicht die Erstellung grafischer Mappings zwischen Datenbankquelldaten, Datenverarbeitungsfunktionen und Filtern und anderen Datenstrukturen der verschiedensten Art.

Datenbank-Mapping-Funktionen:

  • Datenbankabfragen an allen gängigen Datenbanken
  • Mappen von Daten von jedem unterstützten Datenbanktyp auf einen anderen
  • Definition von Datenbankschlüssel-Einstellungen
  • Definition von Datenbankaktionen
  • Direkte Abfrage von Datenbanken
  • Herstellen einer Verbindung zu XML in Datenbankfeldern und Mappen der Felder
  • Sortieren von Datenbank-Input-Komponenten

Filtern und Verarbeiten von Datenbankdaten

Oft müssen Daten bei Datenbank-Mappings zwischen Quell- und Zielkomponente auf Basis von Booleschen Bedingungen oder SQL- und SQL/XML-Anweisungen bearbeitet werden. Es können logische Vergleiche, mathematische Berechnungen, String-Operationen oder andere Datenmodifikationsprozesse durchgeführt werden. In der Abbildung oben werden in den Kästchen zwischen den Linien, die das Quell- und das Zieldatenmodell verbinden, Datenverarbeitungsfunktionen angezeigt.

Mit Hilfe von Datenverarbeitungsfunktionen können Sie on-the-fly komplexe Datenbank-Mappings für die verschiedensten Transformationsanforderungen durchführen. So können Sie z.B. Datenbank-Mappings erstellen, die XML oder EDI-Nachrichten verwenden, um Datenbankzeilen auf Basis von Filterkriterien aus den XML- oder EDI-Elementen zu extrahieren.

Mappings einer Datenbank auf XML erzeugen ein XML-Ausgabedokument, ein Datenbank-Mapping auf Flat Files bringt CSV- oder Textdokumente mit fester Länge hervor, Mappings von Datenbanken auf EDI produzieren EDIFACT-, X12- oder HL7-Nachrichten, Datenbank-Mappings auf Excel erzeugen Office XML (OOXML) Markup-Code und Mappings auf XBRL produzieren XBRL-Finanzberichte.

Werden XML-Daten auf eine Datenbank gemappt, wird ein Resultat in Form von SQL-Skripts (z.B. SELECT, INSERT, UPDATE und DELETE-Anweisungen) erzeugt, die direkt von MapForce aus an der Zieldatenbank ausgeführt werden.

XBRL-Datenmapping

Extensible Business Reporting Language (XBRL) ist eine XML-basierte Markup-Sprache für die elektronische Übertragung von Geschäfts- und Finanzdaten.

MapForce unterstützt XBRL-Taxonomien als Quelle und Ziel jedes beliebigen Mappings, wodurch Backend-Buchhaltungsdaten grafisch in ein passendes Format transformiert werden können, ohne dass dadurch die semantische oder strukturelle Integrität beeinträchtigt würde. So können Berichtsdaten nun für die Finanzanalyse integriert werden.

MapForce XBRL-Mapping

Dank der Unterstützung für Mapping-Ausführungsdateien und der Codegenerierung in Java, C# oder C++ können Sie die Konvertierung von Finanzdaten auf Basis des grafischen Mapping-Designs automatisieren. Die Einreichung von Finanzdaten wird dadurch zu einem wiederholbaren und besser zu verwaltenden Prozess, da Sie so ganz nach Bedarf gültige XBRL-Berichte anhand der in den Feldern des Buchhaltungssystems gespeicherten Daten erzeugen können.

Erstellen von XBRL-Mappings

Um auf Basis einer bestehenden Taxonomie ein XBRL-Mapping zu erstellen, fügen Sie Ihre Taxonomiestruktur einfach in das MapForce-Design-Fenster ein. Daraufhin wird eine grafische Darstellung der Dateistruktur mit Taxonomie-Concepts, Hypercubes, Abstract Elements, Periods, Identifiers usw. mit intuitiven Symbolen angezeigt.

Die Struktur- und Semantikinformationen für die XBRL-Komponente werden aus der dazugehörigen Linkbase abgerufen und in einer leicht interpretierbaren Hierarchie angezeigt, die je nach Bedarf erweitert oder reduziert werden kann.

Filtern und Verarbeiten von XBRL-Daten

MapForce bietet flexible Unterstützung für das Filtern und Verarbeiten von Daten mittels komplexer Verarbeitungsfunktionen auf Basis von Booleschen Bedingungen oder für die Bearbeitung von Daten während der Konvertierung vom Quell- ins Zielformat.

Da XBRL-Daten eine flache Struktur haben, müssen die Quelldaten oft mit Hilfe von Gruppierungsfunktionen in Gruppen zusammengefasst werden, die dann weiter verarbeitet werden, um die Daten in eine hiearchische Struktur umzuwandeln. Dies wird durch Gruppierungsfunktionen in der MapForce-Funktionsbibliothek erleichtert.

1:n-Mappings und verkettete Datenmappings

MapForce ist ein extrem flexibles XML-Mappingtool für komplexe Datenintegrations- und -konvertierungsprojekte. Als Input- und Zielkomponente eines Datenmappings können gemischte Formate wie z.B. jede Kombination vom XML-, Datenbank-, Flat File-, EDI-, Excel-, XBRL- und Webservice-Daten verwendet werden. Dabei können eine Input-Komponente auf eine Output-Komponente, ein Input auf mehrere Outputs, viele Quelldaten auf eine Zielkomponente oder viele Quellkomponenten auf viele Zielkomponenten, alle in unterschiedlichen Formaten gemappt werden.

Verkettetes Mapping in MapForce

MapForce ermöglicht die Integration von Daten aus mehreren Dateien und das Aufteilen von Daten aus einer Datei auf mehrere. Mit Hilfe von Platzhalterzeichen (z.B. ? oder *) in Dateinamen, einer Datenbanktabelle, automatischen Nummerierungssequenzen oder anderen Methoden können mehrere Dateien definiert werden. Diese Funktion eignet sich für die verschiedensten Szenarien. So müssen z.B. manchmal Daten aus einer Datensammlung integriert werden oder es muss für jeden Datensatz der Haupttabelle in einer großen Datenbank eine separate XML-Datei generiert werden.

Auch Dateinamen können als Parameter in Ihren Datenintegrationsprojekten verwendet werden. Auf diese Art können Sie dynamische Mappings erstellen, in denen die jeweiligen Dateinamen zur Laufzeit definiert werden.

Verkettetes Datenmapping

Verkettete Transformationen ermöglichen die Erstellung komplexer Mappings, in denen der Output eines Mappings zum Input eines anderen wird. Dies ist eine weitere leistungsstarke Funktion für die Ausführung vollständig automatisierter Transformationen in MapForce. Jede verkettete Komponente wird zu einem Modul in einer unabhängigen Transformationssequenz und ermöglicht dadurch on-the-fly-Konvertierungen.

Bei verketteten Transformationen können beliebig viele Mapping-Komponenten verwendet werden, die mit einer Endkomponente verbunden sind. Genau wie für das Endresultat des Mappings kann auch für Zwischenkomponenten eine Vorschau angezeigt bzw. Code generiert werden.

Automatisieren der XML-Mapping-Ausführung mit MapForce Server

Altova MapForce Server enthält den für MapForce entwickelten Datentransformationsprozessor und wurde für den Betrieb in Serverumgebungen optimiert. MapForce Server führt anhand von in MapForce erstellten und optimierten Datenmappings, die in Ausführungsdateien gespeichert wurden, Datentransformationen für jede beliebige Kombination von XML-, Datenbank-, EDI-, XBRL-, Flat File-, Excel-, JSON-, Protocol Buffers- und/oder Webservice-Daten durch. Mit seinen Server-Funktionalitäten wie Parallelverarbeitung und Multi-Threading, Bulk SQL Merge, plattformübergreifender Unterstützung und mehr, eröffnet MapForce Server ganz neue Möglichkeiten für Datentransformationen.

Dank Vorverarbeitung lassen sich die meisten Datenmappings schneller und mit weniger Arbeitsspeicherbedarf durchführen. MapForce Server wird über FlowForce Server, in einer Standalone-Konfiguration über die Befehlszeile oder programmatisch über eine API ausgeführt.

Nachdem ein MapForce XML-Mapping erstellt und getestet wurde, kann es von MapForce Server ausgeführt werden, um Geschäftsprozesse, für die wiederholte Datentransformationen erforderlich sind, zu automatisieren.

Creating a MapForce Server Execution File

Mit MapForce werden XML-Datenmappings verarbeitet und optimiert. Anschließend werden diese für die Befehlszeilenausführung durch MapForce Server in MapForce Server-Ausführungsdateien gespeichert und zur Verwendung in FlowForce Server Aufträge geladen.

Wenn MapForce Server unter der Verwaltung von FlowForce Server ausgeführt wird, werden Datenmappings als FlowForce Server-Auftragsschritte, die auf Basis von Triggern ausgelöst werden, ausgeführt. Ein Beispiel wäre ein neues XML-Instanzdokument in einem Verzeichnis, wodurch ein aus mehreren Schritten bestehender FlowForce Server-Auftrag ausgelöst wird, bei dem die Datei zuerst mit RaptorXML+XBRL Server validiert wird. Anschließend werden bestimmte Daten mit Hilfe von MapForce Server aus der XML-Datei extrahiert und in eine Datenbank eingefügt.