Kombination aus positionsgebundenen Daten und Daten mit Begrenzer - Beispiel

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:

Vorgehensweise

  1. Erstellen Sie einen Stammknoten:
    1. 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.
    2. Geben Sie Order in das Feld Name ein.
    3. 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.
  2. 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.Kombiniertes Beispiel 1
  3. 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.Teilfenster 1 für kombiniertes Beispiel
  4. 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ü Neues untergeordnetes Element > Datensatz aus, geben Sie purchaseOrder ein und klicken Sie auf OK.
  5. 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.Kombiniertes Beispiel 2
  6. 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.Teilfenster 2 für kombiniertes Beispiel
  7. 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.
  8. 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.
  9. 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.Kombiniertes Beispiel 3
  10. Konfigurieren Sie den Datensatz originCode so, dass er positionsgebunden ist:
    1. Wählen Sie auf der Registerkarte Schemalayout den Knoten originCode aus. Die Basiseigenschaften werden angezeigt.
    2. Wählen Sie in der Strukturliste die Option Positionsgebunden aus.
  11. 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.
  12. Fügen Sie im Dialogfeld Massenhinzufügung alle untergeordneten Datensätze und Felder des Knotens originCode hinzu:
    1. Klicken Sie auf Hinzufügen und ändern Sie field1 in countryCode. Behalten Sie für Knotentyp die Einstellung Feld bei.
    2. Klicken Sie auf Hinzufügen und ändern Sie field2 in stateCode. Behalten Sie für Knotentyp die Einstellung Feld bei.
    3. Klicken Sie auf Hinzufügen und ändern Sie field3 in cityCode. Behalten Sie für Knotentyp die Einstellung Feld bei.
    4. Klicken Sie auf Hinzufügen und ändern Sie field4 in storeCode. Behalten Sie für Knotentyp die Einstellung Feld bei.
    5. Klicken Sie auf OK.
  13. 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 am Ende des Eigenschaftsfensters auf Feldoffset und Feldlänge setzen, wie in der folgenden Liste dargestellt:
    • countryCode -
      Positionsgebundene Eigenschaft 'countryCode'
    • stateCode -
      Positionsgebundene Eigenschaft 'stateCode'
    • cityCode -
      Positionsgebundene Eigenschaft 'cityCode'
    • storeCode -
      Positionsgebundene Eigenschaft '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.Kombiniertes Beispiel 4
  14. 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.Kombiniertes Beispiel 5
  15. 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.Teilfenster 3 für kombiniertes Beispiel
  16. 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 Neues untergeordnetes Element > Feld in der Liste aus. Das Dialogfeld Neues Feld wird geöffnet.
  17. Geben Sie in Feldname die Zeichenfolge item ein und klicken Sie auf OK.
  18. 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.Teilfenster 4 für kombiniertes Beispiel
    Das unstrukturierte Dateischema ist vollständig und kann getestet werden.
  19. 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.
  20. Klicken Sie auf das Symbol Testen.
    Testsymbol
    Das Dialogfenster Speichern bestätigen wird geöffnet.
  21. 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>
  22. 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.Kombiniertes Beispiel - Test
  23. 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.



Feedback | Notices


Timestamp icon Letzte Aktualisierung: Friday, November 8, 2013


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/Mixed_Positional_and_Delimited_Example.html