Beim Entwerfen einer Umwandlung tritt immer wieder das Problem auf, wie die zu verarbeitenden Datenbehälter ausfindig zu machen sind. Wenn dieselben Datenbehälter mehrere Male in einer XML-Struktur vorkommen können, sind die einzelnen Instanzen nicht immer eindeutig. In diesem Kapitel wird erläutert, wie Mehrdeutigkeiten mit Hilfe der Komponenten
Locator
und
Key
aufgelöst werden können.
Mit den in diesem Kapitel beschriebenen Komponenten können Sie die Instanzen von Mehrfachinstanz-Datenbehältern auf dreierlei Weise kennzeichnen:
Sequenziell: Jede Iteration einer Komponente verarbeitet die jeweils nächste Instanz des Datenbehälters.
Nach Instanznummer: Von einer Komponente kann zum Beispiel die dritte Instanz eines Datenbehälters ausgewählt werden.
Nach Schlüssel. Ein Schlüssel kann ein Attribut oder ein geschachteltes Element sein. Durch den Schlüssel wird eine Instanz des Datenbehälters eindeutig bezeichnet.
Das sequenzielle Verfahren ist der Standard. Allerdings hat es einige komplexe Aspekte, die Sie mit der
Locator
-Komponente steuern können.
Die Kennzeichnung nach Instanznummer und Schlüssel wird als Indexierung bezeichnet. Die Indexierung funktioniert ähnlich wie das Stichwortverzeichnis eines Buchs, in dem Sie Informationen anhand einer Seitennummer oder eines Stichworts finden. Sie wird mit Hilfe der Komponenten
LocatorByOccurrence
,
LocatorByKey
und
Key
implementiert.
Die Locator- und Key-Komponenten können in Parsern, Serializern und Mappern verwendet werden. Mit diesen Komponenten können Sie Datenbehälter in der Eingabe, der Ausgabe oder beidem identifizieren.
Die Lokator-Komponenten werden in die Eigenschaften
source
und
target
verschiedener anderer Umwandlungskomponenten geschachtelt. Im Folgenden wird die Bedeutung und Verwendung der Eigenschaften