Informationen zu diesem Vorgang
Dieses Beispiel zeigt, wie ein unstrukturiertes Dateischema zum Parsen einer
Kombination aus positionsgebundenen Daten und Daten mit Begrenzer erstellt werden kann. Zum Erstellen eines unstrukturierten Dateischemas müssen Sie zunächst Ihre unstrukturierten
Dateidaten analysieren, um festzustellen, welche Felder und Knoten dem unstrukturierten Dateischema
hinzugefügt werden müssen. In diesem Beispiel erstellen Sie ein unstrukturiertes Dateischema für die
folgenden zwei Datenzeilen:
BuyRight
Pharmacy;USACAMVI334;!389!22;34980;
Taylor
Drugs;USANJWLB128;!778!23!523;5667;
Verwenden Sie einen Top-Down-Ansatz,
um die Datensätze und Felder des unstrukturierten Dateischemas zu definieren, wie in den folgenden Schritten gezeigt:
- Erstellen Sie einen Stammknoten:
- Klicken Sie auf der Registerkarte Projekt mit der rechten Maustaste auf den Ordner Unstrukturiertes Dateischema und wählen Sie Neues unstrukturiertes Dateischema aus. Das Dialogfeld Basisassistent wird geöffnet.
- Geben Sie Order in das Feld Name ein.
- Klicken Sie auf OK. Der Schemaeditor für unstrukturierte Dateien wird geöffnet und das
Schema für unstrukturierte Dateien wird unter dem Ordner mit den Schemata für unstrukturierte Dateien
auf der Registerkarte Projekt angezeigt.
Darüber hinaus wird ein Stammknoten mit demselben Namen auf der Registerkarte
Schemalayout angezeigt.
- Legen Sie die höchste Strukturebene für die Daten fest. Bei diesem Beispiel wird die größte Struktur
aus den beiden Zeilen gebildet, von denen jede einen Datensatz darstellt. Die beiden Datensätze in diesen unstrukturierten Dateidaten sind durch ein Zeilenende begrenzt,
das sich zwischen den beiden Datensätzen befindet, wie in
Abbildung 1 dargestellt:
Abbildung 1. Kombiniertes Beispiel 1: Die Datensätze der Datei sind durch ein Zeilenende begrenzt, das sich zwischen
den Zeichen befindet, aus denen der Datensatz besteht.
- Konfigurieren Sie den Stammknoten mit dem Namen Order,
um die untergeordneten, sich wiederholenden Datensätze anhand folgender Kriterien zu parsen:
- Daten mithilfe eines Begrenzungszeichens in Datensätze aufteilen.
- Dokument soll mit einem Datenstromende (End Of Stream, EOS) enden,
da der letzte Datensatz nicht mit einem Begrenzungszeichen endet.
- Begrenzungszeichen des Zeilenendes zum Begrenzen aller untergeordneter Datensätze verwenden.
- Begrenzungszeichen soll zwischen den Daten stehen.
- Untergeordnete Datensätze werden sich wiederholen.
- Begrenzungszeichen des Zeilenendes zum Begrenzen der sich wiederholenden untergeordneten Datensätze verwenden.
Geben Sie anhand dieser Kriterien die folgenden Werte für die Teilfenster
Basiseigenschaften und Begrenzungszeichen
des Knotens Order an, wie in
Abbildung 2 dargestellt:
Abbildung 2. Teilfenster 1 für kombiniertes Beispiel. Dabei ist für 'Struktur' die Option 'Begrenzt' angegeben und
das Feld 'Dokument endet mit EOS (End of Stream - Datenstromende)' ist ausgewählt. Die Option 'Zeilenende' ist ausgewählt und für 'Position des Begrenzers für untergeordnete Elemente'
wurde 'Zwischen' festgelegt.
- Fügen Sie dem Stammknoten einen untergeordneten Knoten hinzu, um die Datensätze darzustellen.
Klicken Sie auf der Registerkarte Schemalayout mit der rechten Maustaste auf
den Knoten Order.
Wählen Sie im Menü aus,
geben Sie purchaseOrder ein und klicken Sie auf OK.
- Legen Sie die nächste Stufe der Strukturebene für die Daten fest. In diesem Beispiel
besteht die nächste Strukturebene aus den Feldern, die durch Semikolon begrenzt sind, wie
in Abbildung 3 dargestellt:
Abbildung 3. Kombiniertes Beispiel 2: Die einzelnen Felder des Datensatzes sind durch Semikolon begrenzt.
- Konfigurieren Sie den Knoten purchaseOrder, um diese Felder wie durch die
folgenden Kriterien beschrieben zu parsen:
- Der Knoten purchaseOrder kann ein oder mehrere Vorkommen aufweisen.
- Daten des Datensatzes mit einem Begrenzungszeichen in untergeordnete Felder parsen.
- Semikolon als Begrenzer zwischen den Daten verwenden.
- Begrenzungszeichen soll sich nach den Daten befinden.
Geben Sie anhand dieser Kriterien die folgenden Werte für die Teilfenster
Basiseigenschaften und Begrenzungszeichen
des Knotens purchaseOrder an, wie in
Abbildung 4 dargestellt:
Abbildung 4. Teilfenster 2 für kombiniertes Beispiel. Dabei ist für 'Struktur' die Option 'Begrenzt' und für 'Maximum'
die Option 'Unbegrenzt' angegeben und die Option 'Zeichen' ist ausgewählt.
Für 'Position des Begrenzers für untergeordnete Elemente' ist 'Nach' ausgewählt.
- Fügen Sie die Felder des Knotens purchaseOrder durch Klicken
mit der rechten Maustaste auf den Knoten purchaseOrder auf der Registerkarte
Schemalayout hinzu und wählen Sie die Option Neue untergeordnete Elemente
in der Liste aus. Das Dialogfenster Massenhinzufügung wird angezeigt.
- Fügen Sie im Dialogfeld 'Massenhinzufügung' alle untergeordneten Datensätze und Felder des Knotens
purchaseOrder hinzu:
- Klicken Sie auf Hinzufügen und ändern Sie field1
in storeName.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf Hinzufügen und ändern Sie field2
in originCode. Ändern Sie Knotentyp in Datensatz.
- Klicken Sie auf Hinzufügen und ändern Sie field3
in items.
Ändern Sie Knotentyp in Datensatz.
- Klicken Sie auf Hinzufügen und ändern Sie field4
in orderID.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf OK.
- Legen Sie die nächste Stufe der Strukturebene für die Daten fest. In diesem Beispiel
besteht die nächste Strukturebene aus einem Satz positionsgebundener Daten, die sich im Datensatz
originCode befinden, wie in
Abbildung 5 dargestellt:
Abbildung 5. Kombiniertes Beispiel 3: 'originCode' ist ein Abschnitt positionsgebundener Daten im
Datensatz mit Begrenzern.
- Konfigurieren Sie den Datensatz originCode so, dass er positionsgebunden ist:
- Wählen Sie auf der Registerkarte Schemalayout den Knoten originCode aus.
Die Basiseigenschaften werden angezeigt.
- Wählen Sie in der Strukturliste die Option Positionsgebunden aus.
- Fügen Sie die positionsgebundenen Felder des Knotens originCode durch
Klicken mit der rechten Maustaste auf den Knoten originCode auf der
Registerkarte Schemalayout hinzu und wählen Sie die Option
Neue untergeordnete Elemente in der Liste aus. Das Dialogfeld Massenhinzufügung wird geöffnet.
- Fügen Sie im Dialogfeld Massenhinzufügung alle untergeordneten Datensätze
und Felder des Knotens originCode hinzu:
- Klicken Sie auf Hinzufügen und ändern Sie field1
in countryCode.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf Hinzufügen und ändern Sie field2
in stateCode.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf Hinzufügen und ändern Sie field3
in cityCode.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf Hinzufügen und ändern Sie field4
in storeCode.
Behalten Sie für Knotentyp die Einstellung Feld bei.
- Klicken Sie auf OK.
- Konfigurieren Sie Positionsgebundene Eigenschaften für jedes positionsgebundene Feld. Für jeden untergeordneten Knoten des Knotens originCode müssen Sie auf den Knoten auf
der Registerkarte Schemalayout klicken und die Werte im unteren Teil des
Eigenschaftsfensters auf Feldoffset und Feldlänge setzen,
wie in der folgenden Liste dargestellt:
- countryCode -
- stateCode -
- cityCode -
- storeCode -
Das Feld Feldoffset wird - während die Zeichenfolge
originCode verarbeitet wird - von der aktuellen Zeichenposition
aus kalibriert und nicht vom Beginn der Zeichenfolge originCode für die einzelnen Felder. In diesem Beispiel wird der countryCode verarbeitet und die ersten drei Zeichen von
originString werden dem countryCode zugeordnet. Wenn stateCode verarbeitet wird, befindet sich die aktuelle Zeichenposition bereits an
Zeichenposition 3, sodass der Feldoffset von 1 für stateCode
der aktuellen Zeichenposition hinzugefügt wird, um den Startpunkt für die Verarbeitung der Zeichenfolge
stateCode zu ermitteln, wie in
Abbildung 6 dargestellt:
Abbildung 6. Im kombinierten Beispiel 4 sind die aktuelle Cursorposition und das Feldoffset dargestellt.
- Legen Sie die nächste Stufe der Strukturebene für die Daten fest. In diesem Beispiel
besteht die nächste Strukturebene aus den sich wiederholenden Feldern, die durch Ausrufezeichen begrenzt sind,
wie in Abbildung 7 dargestellt:
Abbildung 7. Kombiniertes Beispiel 5. Hierbei wird für die Daten mit Begrenzer ein Ausrufezeichen verwendet.
- Konfigurieren Sie den Knoten items, um die sich wiederholenden untergeordneten Datensätze anhand der folgenden Kriterien zu parsen:
- Daten anhand eines Begrenzungszeichens in Felder aufteilen.
- Ausrufezeichen als Begrenzer verwenden, um untergeordnete Felder zu begrenzen.
- Begrenzungszeichen soll vor den Daten angezeigt werden.
- Eines oder mehrere sich wiederholende untergeordnete Felder sollen vorhanden sein.
- Ausrufezeichen als Begrenzer verwenden, um untergeordnete Felder zu begrenzen.
Geben Sie anhand dieser Kriterien die folgenden Werte für die Teilfenster
Basiseigenschaften und Begrenzungszeichen des Knotens
items an, wie in
Abbildung 8 dargestellt:
Abbildung 8. Teilfenster 3 für kombiniertes Beispiel. Hierbei ist für 'Position des Begrenzers für untergeordnete Elemente'
die Option 'Vorher' ausgewählt.
- Fügen Sie die sich wiederholenden untergeordneten Felder dem Knoten items
durch Klicken mit der rechten Maustaste auf den Knoten items auf der Registerkarte
Schemalayout hinzu und wählen Sie die Option
in der Liste aus. Das Dialogfeld Neues Feld wird geöffnet.
- Geben Sie in Feldname die Zeichenfolge item ein
und klicken Sie auf OK.
- Konfigurieren Sie den Knoten item so, dass er ein oder mehrere Vorkommen
enthält, wie in Abbildung 9 dargestellt:
Abbildung 9. Teilfenster 4 für kombiniertes Beispiel. Hierbei ist für 'Wiederholen - Maximum' die Option
'Unbegrenzt' ausgewählt.
Das unstrukturierte Dateischema ist vollständig und kann getestet werden.
- Fügen Sie den folgenden Text in das linke Teilfenster des Testfensters ein:
BuyRight Pharmacy;USACAMVI334;!389!22;34980;
Taylor
Drugs;USANJWLB128;!778!23!523;5667;
Diese Daten werden auch in der Datei
mixedData.txt bereitgestellt. Wenn Sie bei
der Installation von Studio die Standardwerte akzeptiert haben, befindet sich diese Datei im folgenden Verzeichnis:
C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema.
Achtung: Fügen Sie nach der letzten Zeile keinen Rücklauf ein.
- Klicken Sie auf das Symbol Testen.
Das Dialogfenster Speichern bestätigen wird geöffnet.
- Klicken Sie auf Ja. Die folgende XML-Darstellung der Daten wird im Testteilfenster angezeigt:
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<purchaseOrder>
<storeName>BuyRight Pharmacy</storeName>
<originCode>
<countryCode>USA</countryCode>
<stateCode>CA</stateCode
<cityCode>MVI</cityCode>
<storeCode>334</storeCode>
</originCode>
<items>
<item>389</item>
<item>22</item>
</items>
<orderId>34980</orderId>
</purchaseOrder>
<purchaseOrder>
<storeName>Taylor Drugs</storeName>
<originCode>
<countryCode>USA</countryCode>
<stateCode>NJ</stateCode>
<cityCode>WLB</cityCode>
<storeCode>128</storeCode>
</originCode>
<items>
<item>778</item>
<item>23</item>
<item>523</item>
</items>
<orderId>5667</orderId>
</purchaseOrder>
</Order>
- Klicken Sie auf der Registerkarte Schemalayout auf den Knoten item. Im rechten Teilfenster des Testfensters werden die Daten, in in den Knoten
item geparst wurden, hervorgehoben, wie in
Abbildung 10 dargestellt:
Abbildung 10. Der Knoten 'item' wird hervorgehoben.
- Klicken Sie auf den Knoten state, um die dem Knoten 'state' zugeordneten Daten anzuzeigen.
Anmerkung: Eine Referenzimplementierung des unstrukturierten Dateischemas
Bestellung
wird im Projekt FlatFileSchemasExample bereitgestellt. Zum Anzeigen und Öffnen des Projekts
'FlatFileSchemasExample' befolgen Sie die Schritte 1 und 2 in
Beispiel 'Gruppe' und
doppelklicken Sie auf das unstrukturierte Dateischema
Bestellung. Die Knoten des unstrukturierten Dateischemas 'Bestellung' werden auf der Registerkarte
Schemalayout angezeigt und die Eigenschaften des Stammknotens
Bestellung werden im rechten Fenster angezeigt.