Beispiel: Aufteilen einer XML-Datei in mehrere
In diesem Beispiel wird gezeigt, wie Sie anhand einer einzigen XML-Quelldatei dynamisch mehrere XML-Dateien generieren. Sie finden die Mapping-Beispieldatei dazu unter dem folgenden Pfad: <Dokumente>\Altova\MapForce2025\MapForceExamples\Tut-ExpReport-dyn.mfd.
Die XML-Quelldatei (die im selben Ordner wie das Mapping liegt) besteht aus der Spesenabrechnung für eine Person namens Fred Landis und enthält fünf Spesenposten (expense-item) unterschiedlichen Typs. Ziel dieses Beispiels ist es, für jeden der unten aufgelisteten Spesenposten eine separate XML-Datei zu generieren.
mf-ExpReport.xml (in der XMLSpy Grid-Ansicht)
Da das Attribut "type" den jeweiligen Spesentyp definiert, ist dies das Datenelement, das wir zum Aufteilen der Quelldatei verwenden werden. Gehen Sie dazu folgendermaßen vor:
1. | Fügen Sie eine concat-Funktion ein (Sie können diese mit der Maus aus der Bibliothek core | string functions in den Mapping-Bereich ziehen). |
2. | Fügen Sie (über das Menü Einfügen | Konstante) eine Konstante ein und geben Sie als ihren Wert ".xml" ein. |
3. | Ziehen Sie die Funktion auto-number aus der Bibliothek core | generator functions mit der Maus in den Mapping-Bereich. |
4. | Klicken Sie auf die Schaltfläche Datei ( ) oder Datei/String ( ) der Zielkomponente und wählen Sie den Befehl Über das Mapping bereitgestellte dynamische Dateinamen verwenden. |
5. | Erstellen Sie die Verbindungen wie oben gezeigt und klicken Sie auf das Register "Ausgabe", um das Ergebnis des Mappings zu sehen. |
Tut-ExpReport-dyn.mfd (MapForce Basic Edition)
Beachten Sie, dass die erzeugten Ausgabedateien folgendermaßen dynamisch benannt werden:
•Das Attribut type liefert den ersten Teil des Dateinamens, z.B. Travel.
•Die Funktion auto-number liefert die fortlaufend nummerierten Dateinummern (z.B. "Travel1", "Travel2", usw.)
•Die Konstante liefert die Dateierweiterung, d.h. .xml, also lautet der Dateiname der ersten Datei Travel1.xml.