XMLMapper verwenden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Transformationen definieren


Das Zuordnungs-Dienstprogramm für XML, xmlmapper.exe, bietet drei Möglichkeiten zum Definieren der Zuordnungen:

  • Zuordnen eines vorhandenen XML-Schemas (bzw. -Dokuments) zu einer von Ihnen anzugebenden Client-Datenmenge. Diese Vorgehensweise empfiehlt sich, wenn in der zu erstellenden Datenbankanwendung Daten verwendet werden sollen, für die bereits ein XML-Schema vorhanden ist.
  • Zuordnen eines vorhandenen Datenpakets zu einem neuen, von Ihnen zu definierenden XML-Schema. Dieses Verfahren ist sinnvoll, wenn Sie vorhandene Datenbankdaten in XML-Dokumenten darstellen möchten, beispielsweise beim Erstellen eines neuen B2B-Kommunikationssystems.
  • Zuordnen eines vorhandenen XML-Schemas zu einem vorhandenen Datenpaket. Verwenden Sie diese Möglichkeit, wenn bereits sowohl ein XML-Schema als auch eine Datenbank vorhanden sind, die beide dieselben Informationen beschreiben, und Sie beide zusammen verwenden möchten.

Anmerkung:  Für XMLMapper werden zwei .DLL-Dateien (Midas.dll und Msxml.dll) benötigt. Diese müssen installiert sein, bevor Sie mit xmlmapper.exe arbeiten können. Außerdem muss msxml.dll als COM-Server registriert sein. Für diesen Vorgang können Sie Regsvr32.exe verwenden.

XML-Schema oder Datenpaket laden

Bevor Sie eine Zuordnung definieren und eine Transformationsdatei generieren können, müssen Sie die Beschreibungen des XML-Dokuments und des Datenpakets laden, zwischen denen die Zuordnung definiert werden soll.

Zum Laden eines XML-Dokuments oder -Schemas wählen Sie Datei > Öffnen und wählen das gewünschte Dokument bzw. Schema im Dialogfeld aus.

Zum Laden eines Datenpakets wählen Sie Datei > Öffnen und wählen die gewünschte Datenpaketdatei im Dialogfeld aus. (Bei einem Datenpaket handelt es sich um die Datei, die beim Aufrufen der Methode SaveToFile für eine Client-Datenmenge generiert wird.) Falls Sie das Datenpaket nicht gespeichert haben, können Sie es bei einer mehrschichtigen Anwendung direkt vom Anwendungsserver abrufen, indem Sie im Anzeigebereich für die Datenpakete mit der rechten Maustaste klicken und dann im lokalen Menü den Befehl Connect To Remote Server wählen.

Sie können die Dateien beider Seiten der Zuordnung laden. Es ist aber auch möglich, lediglich ein XML-Dokument bzw. -Schema oder nur ein Datenpaket zu laden. Wenn Sie nicht beides laden, erstellt XMLMapper eine natürliche Zuordnung für die andere Seite.

Zuordnungen definieren

In der Zuordnung eines XML-Dokuments zu einem Datenpaket müssen nicht alle Felder des Datenpakets bzw. alle Tag-Elemente des XML-Dokuments enthalten sein. Daher müssen Sie zunächst diejenigen Elemente angeben, für die eine Zuordnung benötigt wird. Hierzu wählen Sie im Hauptbereich des Dialogfelds die Seite Umwandlung.

Zur Angabe der Elemente in einem XML-Dokument bzw. -Schema, die den Feldern eines Datenpakets zugeordnet werden sollen, wählen Sie die Registerkarte Beispiel bzw. Struktur im Fensterbereich für das XML-Dokument und doppelklicken auf die Knoten für die Elemente, die den Feldern des Datenpakets zugeordnet werden sollen.

Zur Angabe der Felder des Datenpakets, die den Tag-Elementen oder Attributen des XML-Dokuments zugeordnet werden sollen, doppelklicken Sie im Fensterbereich für die Datenpakete auf die Knoten der betreffenden Felder.

Haben Sie nur eine Seite für die Zuordnung geladen (das XML-Dokument oder das Datenpaket), so können Sie die andere Seite generieren, nachdem Sie die zuzuordnenden Knoten ausgewählt haben.

  • Wenn Sie ein Datenpaket aus einem XML-Dokument generieren möchten, definieren Sie zunächst die Attribute für die gewählten Knoten, über die der Feldtyp bestimmt wird, dem die Knoten im Datenpaket entsprechen sollen. Wählen Sie im mittleren Fensterbereich die Seite Repository Knoten. Wählen Sie alle Knoten, die in die Zuordnung aufgenommen werden sollen, und geben Sie die Attribute für das jeweils entsprechende Feld an. Wenn es sich um keine einfache Zuordnung handelt (beispielsweise ein Knoten mit untergeordneten Knoten, dessen Wert ausgehend von diesen untergeordneten Knoten ermittelt wird), aktivieren Sie das Kontrollkästchen Benutzerdefinierte Übersetzung. Später müssen Sie eine Ereignisbehandlungsroutine schreiben, um die Transformation für die benutzerdefinierten Knoten durchzuführen. Nachdem Sie angegeben haben, wie die Knoten zugeordnet werden sollen, wählen Sie Erzeugen > Datenpaket aus XML. Das entsprechende Datenpaket wird automatisch generiert und im Fensterbereich für Datenpakete angezeigt.
  • Zum Generieren eines XML-Dokuments aus einem Datenpaket wählen Sie Erzeugen > XML aus Datenpaket. Es wird ein Dialogfeld angezeigt, in dem Sie die Namen der Tags und Attribute im XML-Dokument angeben können, welche den Feldern, Datensätzen und Datenmengen im Datenpaket entsprechen. Bei Feldwerten können Sie mithilfe des Namens angeben, ob diese einem Tag-Element mit Wert oder einem Attribut zugeordnet werden sollen. Bei Namen, die mit dem Symbol @ beginnen, erfolgt die Zuordnung zu Tag-Attributen, die dem Datensatz entsprechen; bei Namen, die nicht mit dem Symbol @ beginnen, erfolgt die Zuordnung zu Tag-Elementen mit Werten, die innerhalb des Elements für den Datensatz verschachtelt sind.
  • Wenn Sie sowohl ein XML-Dokument als auch ein Datenpaket (Datei zur Definition der Client-Datenmenge) geladen haben, müssen Sie darauf achten, dass Sie die sich entsprechenden Elemente (Knoten und Felder) in derselben Reihenfolge auswählen. Diese müssen in der Tabelle oben auf der Seite Umwandlung nebeneinander angezeigt werden.

Nachdem Sie sowohl das XML-Dokument als auch das Datenpaket geladen bzw. generiert und die Knoten und Felder für die Zuordnung gewählt haben, müsste die Tabelle oben auf der Seite für die Zuordnungen die definierte Zuordnung zeigen.

Transformationsdateien generieren

Nachdem Sie die Zuordnung definiert haben, können Sie die Transformationsdateien generieren, die zum Konvertieren der XML-Dokumente in Datenpakete und umgekehrt benötigt werden. Beachten Sie, dass die bereits angesprochene Einschränkung hinsichtlich der Richtung nur für die Transformationsdatei gilt: Eine einzelne Zuordnung kann sowohl zum Erstellen der Transformationsdatei zur Konvertierung von XML in Datenpakete verwendet werden als auch umgekehrt.

So generieren Sie eine Transformationsdatei:

  1. Wählen Sie zunächst das Optionsfeld aus, mit dem Sie angeben, welche Art von Transformationsdatei erstellt werden soll:
    • Wählen Sie das Optionsfeld Datenpaket in XML, wenn eine Transformation vom Datenpaket zum XML-Dokument erfolgen soll.
    • Wählen Sie das Optionsfeld XML in Datenpaket, wenn eine Transformation vom XML-Dokument zum Datenpaket erfolgen soll.
  2. Wenn Sie ein Datenpaket generieren, müssen Sie unter Umständen die gewünschten Optionsfelder im Bereich Datenpaket erzeugen als wählen. Mit diesen Optionsfeldern können Sie angeben, wie das Datenpaket verwendet werden soll: als Datenmenge, als Delta-Paket zur Aktualisierung oder als Parameter, die an einen Provider geleitet werden müssen, bevor Daten abgerufen werden können.
  3. Klicken Sie auf Umwandlung erzeugen und testen, um eine zunächst nur im Arbeitsspeicher vorhandene Version der Transformationsdatei zu generieren. Je nach gewählter Option wird im Fensterbereich für Datenpakete das XML-Dokument angezeigt, das für das Datenpaket generiert wird, oder im Fensterbereich für XML-Dokumente das Datenpaket, das für das XML-Dokument generiert wird.
  4. Wählen Sie abschließend Datei > Speichern > Transformation, um die Transformationsdatei als spezielle Form von XML-Datei (mit der Erweiterung .XTR) zu speichern. Sie beschreibt die von Ihnen definierte Transformation.

Siehe auch