Mappen von gemischtem Inhalt

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Erstellen von Mappings > Verbindungsarten > Quellorientierte Verbindungen >

Mappen von gemischtem Inhalt

Sie finden die im folgenden Beispiel verwendeten Dateien (Tut-OrgChart.mfd, Tut-OrgChart.mfd.xml, Tut-OrgChart.mfd.xsd, Tut-Person.xsd) im Ordner ...\MapForceExamples\Tutorial\.

 

XML-Quellinstanz

Im unten gezeigten Screenshot sehen Sie einen Ausschnitt aus der in diesem Abschnitt verwendeten XML-Datei Tut-OrgChart.xml. Hier geht es um das Mixed Content-Element "para" mit seinen Child Nodes "bold" und "italic".

 

Das Element "para" enthält auch eine Processing Instruction (<?sort alpha-ascending?>), also sortiere aufsteigend in alphanumerischer Reihenfolge) sowie einen Kommentartext (<!--Company details... -->), die ebenfalls gemappt werden können.

 

mixed-1

 

Beachten Sie die Reihenfolge der Text-Nodes und der bold/italic Nodes in the XML-Instanzdatei. Sie lautet wie folgt:

 

<para> The company...

<bold>Vereno</bold>in 1995 ...

<italic>multi-core...</italic>February 1999

 

<bold>Nano-grid.</bold>The company ...

<italic>offshore...</italic>to drive...

</para>

 

Anfangsmapping

Unterhalb sehen Sie das Mapping in seinem Anfangszustand, wie Sie es sehen, wenn Sie die Datei Tut-Orgchart.mfd öffnen.

 

mixed-2

 

Ausgabe des obigen Mappings

Unterhalb sehen Sie das Ergebnis dieses ersten Mappings: Es wurden Organization Chart sowie die Namen der einzelnen Büros ausgegeben.

 

mixed-3

 

Mappen des para-Elements

In der nachfolgenden Abbildung sehen Sie ein Beispiel für ein Mixed Content Mapping. Das Element "para" hat Mixed Content, daher wird die Verbindungslinie gepunktet angezeigt. Der Node text() enthält Textdaten und muss gemappt werden, damit der Text in der Zielkomponente aufscheint.

 

mixed-4

 

Um eine Beschriftung (Annotation) zu einer Verbindung hinzuzufügen, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften (siehe Versehen von Verbindungen mit einer Anmerkung).

 

In der Abbildung unten sehen Sie das Content Model des Elements "Description" (Desc) der Schema-Datei Tut-OrgChart.xsd. Diese Definition ist in dem in diesem Beispiel verwendeten Quell- und Zielschema identisch.

alp-mix1

Beachten Sie, dass das Element para im Content Model die folgenden Eigenschaften hat:

 

para ist ein complexType mit mixed = true vom Typ TextType.
Die Elemente "bold" (fett) und "italic" (kursiv) sind beide vom Typ xsd:string. Sie wurden in diesem Beispiel nicht als rekursiv definiert, d.h. sind weder "bold" noch "italic" vom Typ "TextType".
Die Elemente "bold" und "italic" können beliebig oft in beliebiger Reihenfolge innerhalb von "para" vorkommen.
Innerhalb des Elements "para" kann eine beliebige Anzahl von Text Nodes vorkommen, die eine beliebige Anzahl der Elemente "bold" und "italic" in beliebiger Reihenfolge enthalten können.

 

Erstellen von Mixed Content-Verbindungen zwischen Datenelementen:

1.Wählen Sie die Menüoption Verbindung | Idente Sub-Einträge automatisch verbinden, um diese Option zu aktivieren, falls sie noch nicht aktiv ist.
2.Verbinden Sie das Datenelement para im Quellschema mit dem Datenelement para im Zielschema. Es erscheint eine Meldung, in der Sie gefragt werden, ob MapForce die Konnektoren als "quellorientiert" definiert werden sollen.

 

dlg_mixed_content_notice

 

3.Klicken Sie auf Ja, um eine Mixed Content-Verbindung zu erstellen.

 

Anmerkung: "para" ist vom Typ Mixed Content. Aus diesem Grund wird die Meldung zu diesem Zeitpunkt angezeigt. Die Mixed Content-Meldung wird auch angezeigt, wenn Sie die Datenelemente "para" direkt mappen, ohne dass die Option zur automatischen Verbindung der Sub-Einträge aktiv ist.

 

Alle Child-Datenelemente von "para" wurden verbunden. Der Konnektor, der die Datenelemente "para" verbindet wird als gepunktete Linie anzeigt, da es sich hierbei um Mixed Content handelt.

4.Klicken Sie auf die Schaltfläche "Ausgabe", um das Ergebnis des Mappings zu sehen.

mixed-5
5.Klicken Sie in der Symbolleiste des Ausgaberegisters auf das Symbol Zeilenumbruch ic-wrap, um den gesamten Text im Fenster "Ausgabe" sehen zu können.

 

mixed-6

 

Der Mixed Content-Text jeder Beschreibung (Desc) wurde korrekt gemappt; sowohl der Text als auch der Inhalt der Bold- und Italic-Tags wurde so gemappt, wie er in der XML-Quelldatei aufscheint.

6.Wechseln Sie zurück zur Mapping-Ansicht.

 

Entfernen von Text Nodes aus Mixed Content-Elementen:

1.Klicken Sie auf den text() Node-Konnektor und drücken Sie die Entf-Taste um ihn zu löschen.

 

mixed-del

 

2.Klicken Sie auf die Schaltfläche "Ausgabe", um das Ergebnis des Mappings zu sehen.

 

mixed-8

 

Ergebnis:

Alle Text Nodes des Elements "para" wurden entfernt.
Gemappter bold- und italic-Textinhalt wird beibehalten
Die Reihenfolge der Datenelemente "bold" und "italic" entspricht weiterhin der in der XML-Quelldatei!

 

So mappen Sie Verarbeitungsanweisungen (Processing Instructions) und Kommentare:

1.Klicken Sie mit der rechten Maustaste auf die Mixed Content-Verbindung und wählen Sie Eigenschaften.
2.Aktivieren Sie unter Quellorientiert (Mixed content), die Optionen Processing Instructions mappen und Comments mappen.

© 2019 Altova GmbH