Satzarterkennungen, eindeutige Namen, reservierte Namen (XML)

Wenn Sie sich eine Struktur automatisch erzeugen lassen, müssen Sie sich keine Gedanken um die Satzarterkennungen, eindeutige Namen und reservierte Namen machen. Diese werden dann automatisch erzeugt. Die folgenden Erklärungen dienen nur dem Verständnis und wenn Sie manuelle Erweiterungen oder Änderungen durchführen möchten.

Satzarterkennungen


Betrifft nur die Quellstruktur, also eingelesene XML-Dateien.

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.

Eindeutige Knoten- und Feldnamen


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>

Reservierte Namen


Folgende Endungen in den Feldnamen sind reserviert.


  • _val: Ein Feld mit dieser Endung enthält den Wert des XML-Elements.

  • _attr: (z. B. id_attr) Über Felder mit dieser Endung können dem XML-Element Attribute hinzugefügt werden. Im Beispiel würde hier das Attribut id dem Element hinzugefügt.


Folgende Endungen sind nur relevant für Zielstrukturen bei der Erzeugung von XML-Dateien mit der XMLNoTemplateUnit.


  • _nsdef: (z. B. xsd_nsdef) Im XML-Element wird ein weiterer Namespace (hier xsd) definiert. Der Inhalt des Feldes entspricht dem Namespace, also z. B. http://www.w3.org/2001/XMLSchema.

  • _name: Feld zum Umbenennen des XML-Elements, das aus dem zugehörigen Oberknoten erstellt wird. Der Name des XML-Elements wird dann nicht mehr aus dem Knotennamen erzeugt, sondern aus dem Wert (nicht Namen) des Feldes. Als Präfix des Feldnamens muss der Name des umzubenennenden Knotens verwendet werden. Soll also Oberknoten POS umbenannt werden, muss das Umbenennungsfeld POS_name heißen.

Beispiel


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/73597224/595.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).