Darstellung von XML-Attributen in Quell- und Zielstruktur

In XML können Elemente mit dem gleichen Namen in verschiedenen Hierarchieebenen des XML-Dokuments auftreten. Um in Lobster_data die Eindeutigkeit der Namen aller Knoten und Felder in einem Profil zu erzwingen, wird daher beim Strukturimport an jeden bereits vorkommenden Namen ein numerischer Suffix angehängt. Die Nummer wird fortlaufend erzeugt, sie kann aber nach dem Strukturimport auch geändert werden, wenn dadurch die Eindeutigkeit der Namen erhalten bleibt. Die Reihenfolge der Suffix-Nummern ist unwichtig. Hinweis: Es kann theoretisch der selbe Name eines Feldes oder Knotens der Quellstruktur in der Zielstruktur (und anders herum) verwendet werden. Allerdings sollte man davon absehen, um Verwechslungen vorzubeugen. Hinweis: Suffixe werden intern erkannt an dem Zeichen - und # und einer folgenden Zahl. Für den Feldnamen somename-0sometext würde also auch das Suffix -0sometext erkannt werden. Das spielt im automatisierten Fall keine Rolle, kann aber nützlich sein im Falle einer manuellen Anpassung.


Suffix in Quellstruktur

-<Nummer>

Suffix in Zielstruktur

#<Nummer>


In einem XML-Dokument kann z. B. ein Element TYPE an mehreren Stellen der Hierarchie auftreten und zusätzlich noch ein Attribut TYPE zu anderen Elementen (die nicht TYPE heißen) zugeordnet werden. Folgend eine Beispieldatei dazu.


<ORDER TYPE="abc">
<ADDR>
<TYPE quali="17">WE</TYPE>
<TYPE quali="18">WI</TYPE>
</ADDR>
<POSITION TYPE="xyz">
</POSITION>
<POSITION TYPE="abc">
</POSITION>
<TYPEDEFINITIONS>
<TYPE source="Buyer">BY</TYPE>
<TYPE source="Seller">SE</TYPE>
</TYPEDEFINITIONS>
</ORDER>


Die folgende Abbildung zeigt die entsprechende Quell- und Zielstruktur zu dem XML-Ausschnitt im Listing.


images/download/attachments/73597232/XML_10-version-2-modificationdate-1620808588530-api-v2.png


Element ORDER hat ein Attribut TYPE. Es wird durch den Knoten ORDER mit dem Feld TYPE_attr dargestellt.

Element TYPE innerhalb ADDR hat ein Attribut quali und einen Wert. Es wird durch den Knoten TYPE, das Attribut-Feld quali_attr und das Wert-Feld TYPE_val dargestellt. Bei dem Wert-Feld steht das Kennzeichen _val am Ende und davor muss der Name des Knotens stehen.

Innerhalb des Elements TYPEDEFINITIONS können mehrere Elemente TYPE mit Attribut source und Wert stehen. Das wird durch den Knoten TYPE-1 (bzw. TYPE#1) mit dem Wert-Feld TYPE-1_val (bzw. TYPE#1_val) und dem Attribut-Feld source_attr dargestellt. Auch wenn das Attribut fehlen würde, könnte das Element TYPE mit verschiedenen Werten mehrfach innerhalb TYPEDEFINITIONS auftreten.

Wichtiger Hinweis: Die Kennzeichen _val und _attr stehen immer am Ende hinter den Suffix-Nummern (siehe TYPE-1_val, TYPE-1_attr, TYPE#1_val und TYPE#1_attr).

Satzarterkennungen in diesem Beispiel


In der Dokumentenart XML haben Knoten und Felder eine Satzarterkennung, die dem XML-Element entspricht. Die Attribut-Felder TYPE_attr und TYPE-1_attr und die Knoten TYPE und TYPE-1 haben die gleiche Satzarterkennung Ist gleich TYPE.

Die Wert-Felder TYPE_val und TYPE-1_val haben keine Satzarterkennung. Ihre Zuordnung wird durch die Namensgleichheit mit dem Knoten erreicht. Wenn man eine Satzarterkennung für diese Felder definiert, wird sie ignoriert.

Zum automatischen Erzeugen der Satzarterkennungen für XML, siehe Abschnitt Satzarterkennung prüfen und erstellen.