Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Laufzeitverhalten Dokument im Navigationsbaum lokalisieren

Der Mapping-Editor generiert aus der graphischen Beschreibung des Message-Mappings Java-Qellcode. Dieser Abschnitt gibt einen Überblick darüber, wie der generierte Java-Quellkode eine XML-Ausgangsstruktur zur Laufzeit verarbeit.

Grundlagen

Im Mapping-Editor ordnet man die Felder zweier vorhandener XML-Strukturen einander zu. Man tendiert dazu zu vergessen, dass es zur Laufzeit vor dem Mapping gar keine Zielstruktur gibt, denn diese wird ja erst beim Ausführen des Mappings erzeugt.

Das Message-Mapping muss also die Zielstruktur zur Laufzeit erzeugen. Wie die Zielstruktur am Ende aussieht, hängt im Wesentlichen von zwei Dingen ab:

·      Welche und wie viele Tags in der Instanz zur Ausgangsstruktur vorhanden sind und

·      Welche Häufigkeit für die Zielfelder in der Zielstruktur angegeben ist.

Häufigkeit

In beiden Fällen hängt dies wiederum von dem Wert Häufigkeit ab, den Sie in der Typ-Definition im XSD-Editor angegeben haben. Die Werte für die Häufigkeit werden auf die XSD-Attribute minOccurs und maxOccurs abgebildet, die Sie sich in der tabellarischen Baum-Ansicht ansehen können. minOccurs gibt an, wie oft ein Tag mindestens auftreten muss und maxOccurs, wie oft ein Tag höchstens auftreten darf. Der Wurzelknoten hat sowohl bei der Ausgangs- als auch bei der Zielstruktur immer eine Häufigkeit von minOccurs=maxOccurs=1.

Hinweis

Wenn das Auftreten eines Tags in der Ausgangs- oder Zielstruktur nicht explizit angegeben wird, setzt der Mapping-Editor diese sichtbar für den Benutzer. Diese voreingestellten Werte entsprechen dabei der XSD-Spezifikation (minOccurs=“1“, maxOccurs=“unbounded“).

Kontexte

XML-Strukturen sind hierarchisch geordnet. Daher befindet sich ein Feld in einer XML-Instanz immer in einem Kontext des übergeordnetem Feldes. In der folgenden XML-Instanz sind die Felder <flat> beispielsweise im Kontext <street> und <city> im Kontext <root>.

<root>
  <city>
    <street>
      <flat />
    </street>
  </city>
</root>

Prozessierung von Message-Mappings

Das Message-Mapping prozessiert die Ausgangsstruktur und erzeugt die Zielstruktur gemäß den Restriktionen der Zielfelder und gemäß den mit den Zielfeldern verknüpften Zielfeld-Mappings. Die Prozessierung ist für einfach auftretende Felder intuitiv verständlich. Um die Prozessierung genau zu verstehen, sind zwei Ebenen zu unterscheiden:

·      Abbildung von Feldern innerhalb eines Kontextes

·      Strukturabbildungen durch Setzen des Kontexts

 

 

 

Ende des Inhaltsbereichs