Informazioni su questa attività
In questo esempio viene mostrato come creare uno schema di file flat per
analizzare una combinazione di dati delimitati e posizionali. Per creare uno schema di file
flat, è innanzitutto necessario analizzare i dati file flat per determinare i campi
e i nodi da aggiungere allo schema di file flat. In questo esempio,
viene creato uno schema di file flat per le seguenti due righe di dati:
BuyRight
Pharmacy;USACAMVI334;!389!22;34980;
Taylor
Drugs;USANJWLB128;!778!23!523;5667;
Utilizzare un approccio verticale
per definire i record e i campi dello schema di file flat, come mostrato
nella seguente procedura:
- Creare un nodo root:
- Nella scheda Progetto, fare clic con il tasto destro del mouse
sulla cartella Schemi di file flat e selezionare Nuovo
schema di file flat. Viene visualizzata la finestra di dialogo
Procedura guidata di base.
- Immettere Order nel campo Nome.
- Fare clic su OK. Viene visualizzato
l'Editor schema di file flat e lo schema di file flat viene visualizzato nella
cartella Schema di file flat nella scheda Progetto.
Inoltre, un nodo root con lo stesso nome viene visualizzato nella scheda Layout schema.
- Determinare il livello massimo della struttura nei dati. In
questo esempio, la struttura più ampia è composta dalle due righe che rappresentano,
ognuna, un record. I due record in questi dati di file flat sono delimitati da
un carattere di fine riga posizionato tra i due record, come mostrato nella Figura 1:
Figura 1. Esempio 1 relativo ai dati combinati: i record del
file sono delimitati dal carattere di fine riga, che si trova
tra i caratteri che costituiscono il record.
- Configurare il nodo root denominato Order per
analizzare i record child ripetuti utilizzando i seguenti criteri:
- Separare i dati in record utilizzando un delimitatore.
- Il documento dovrebbe terminare con un EOS (End Of Stream) in quanto
l'ultimo record non termina con un delimitatore.
- Utilizzare il delimitatore di fine riga per delimitare i record child.
- Il delimitatore dovrebbe trovarsi tra i dati.
- Dovrebbero esserci record child ripetuti.
- Utilizzare il delimitatore di fine riga per delimitare i record child
ripetuti.
Utilizzando questi criteri, specificare i seguenti valori per i pannelli Proprietà
di base e Delimitatori del
nodo Order, come mostrato nella Figura 2:
Figura 2. Pannello 1 dell'esempio
relativo ai dati combinati in cui il valore di Struttura è Delimitato e la casella Il documento
termina con EOS (end of stream) è selezionata. L'opzione Fine riga è selezionata e la posizione di Delimitatore
child è impostata su Tra
- Aggiungere un nodo child al nodo root affinché rappresenti i record.
Nella scheda Layout schema, fare clic con il tasto destro del mouse sul nodo Order.
Dal menu, selezionare , immettere purchaseOrder
e fare clic su OK.
- Determinare il livello successivo della struttura nei dati. In questo
esempio il livello successivo della struttura è rappresentato dai campi delimitati da punti e virgola,
come mostrato nella Figura 3:
Figura 3. Esempio 2 relativo ai dati combinati: i singoli
campi del record sono delimitati da punti e virgola.
- Configurare il nodo purchaseOrder
per l'analisi di questi campi, come descritto dai seguenti criteri:
- Il nodo purchaseOrder può avere una
o più ricorrenze.
- Analizzare i dati del record nei campi child utilizzando un delimitatore.
- Utilizzare il punto e virgola come delimitatore tra i dati.
- Il delimitatore dovrebbe trovarsi dopo i dati.
Utilizzando questi criteri, specificare i seguenti valori per i pannelli Proprietà
di base e Delimitatori del nodo purchaseOrder, come mostrato nella Figura 4:
Figura 4. Pannello 2 dell'esempio
relativo ai dati combinati: il valore di Struttura è Delimitato e le opzioni Massimo - Senza limiti e
Carattere sono selezionate.
Il campo Posizione delimitatore child è impostato su Dopo.
- Aggiungere i campi del nodo purchaseOrder
facendo clic con il tasto destro del mouse sul nodo purchaseOrder nella
scheda Layout schema e selezionando l'opzione
Nuovi elementi child dall'elenco. Viene visualizzata la finestra
di dialogo Aggiunta bulk.
- Nella finestra di dialogo Aggiunta bulk, aggiungere tutti i record child e i
campi del nodo purchaseOrder:
- Fare clic su Aggiungi e modificare field1 in storeName.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su Aggiungi e modificare field2 in
originCode. Modificare Tipo di nodo in Record.
- Fare clic su Aggiungi e modificare field3 in items.
Modificare Tipo di nodo in Record.
- Fare clic su Aggiungi e modificare field4 in orderID.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su OK.
- Determinare il livello successivo della struttura nei dati. In questo
esempio il livello successivo della struttura è rappresentato da un insieme di dati posizionali contenuti
nel record originCode, come mostrato nella Figura 5:
Figura 5. Esempio 3 relativo ai dati combinati: originCode è una sezione dei dati posizionali nel record
delimitato.
- Configurare il record originCode affinché
il valore sia posizionale:
- Nella scheda Layout schema, selezionare il nodo originCode.
Vengono visualizzate le proprietà Proprietà di base.
- Nell'elenco Struttura, selezionare Posizionale.
- Aggiungere i campi posizionali del nodo originCode
facendo clic con il tasto destro del mouse sul nodo originCode nella scheda
Layout schema e selezionando l'opzione Nuovi elementi child
dall'elenco. Viene visualizzata la finestra di dialogo
Aggiunta bulk.
- Nella finestra di dialogo Aggiunta bulk, aggiungere tutti i
record child e i campi del nodo originCode:
- Fare clic su Aggiungi e modificare field1 in countryCode.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su Aggiungi e modificare field2 in stateCode.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su Aggiungi e modificare field3 in cityCode.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su Aggiungi e modificare field4 in storeCode.
Lasciare il campo Tipo di nodo impostato su Campo.
- Fare clic su OK.
- Configurare le Proprietà di posizione di
ciascun campo posizionale. Per ciascun nodo child del nodo originCode,
fare clic sul nodo nella scheda Layout schema e, nella
parte inferiore del pannello delle proprietà, impostare i valori di Offset
campo e Lunghezza campo, come mostrato
nel seguente elenco:
- countryCode -
- stateCode -
- cityCode -
- storeCode -
L'Offset campo viene calibrato
dall'ubicazione del carattere corrente mentre la stringa originCode
viene elaborata e non dall'inizio della stringa originCode
per ciascun campo. In questo esempio, il nodo countryCode viene
elaborato e i primi tre caratteri di originString vengono
assegnati a countryCode. Quando il nodo stateCode viene
elaborato, il carattere corrente è già nell'ubicazione del carattere 3,
quindi l'Offset campo 1 di stateCode viene
aggiunto all'ubicazione del carattere corrente per ottenere il punto di partenza per
l'elaborazione della stringa stateCode, come mostrato
nella Figura 6:
Figura 6. L'esempio 4 relativo ai dati combinati mostra l'ubicazione del cursore corrente e l'Offset campo.
- Determinare il livello successivo della struttura nei dati. In questo
esempio il livello successivo della struttura è rappresentato dai campi ripetuti, delimitati
da punti esclamativi, come mostrato nella Figura 7:
Figura 7. Esempio 5 relativo ai dati combinati in cui i dati delimitati
sono indicati da punti esclamativi.
- Configurare il nodo items per analizzare
i record child ripetuti utilizzando i seguenti criteri:
- Separare i dati nei campi utilizzando un delimitatore.
- Utilizzare i punti esclamativi come delimitatori per delimitare i campi
child.
- Il delimitatore dovrebbe trovarsi prima dei dati.
- Dovrebbero essere presenti uno o più campi child ripetuti.
- Utilizzare i punti esclamativi come delimitatori per delimitare i campi
child ripetuti.
Utilizzando questi criteri, specificare i seguenti valori per i pannelli Proprietà
di base e Delimitatori del nodo items, come mostrato nella Figura 8:
Figura 8. Pannello 3 dell'esempio relativo ai dati combinati in cui
Posizione delimitatore child è impostato su Prima.
- Aggiungere il campo child ripetuto al nodo items
facendo clic con il tasto destro del mouse sul nodo items nella scheda
Layout schema e selezionando l'opzione
dall'elenco. Viene visualizzata la finestra di dialogo
Nuovo campo.
- In Nome campo, immettere item e
fare clic su OK.
- Configurare il nodo item affinché contenga
una o più ricorrenze, come mostrato nella Figura 9:
Figura 9. Pannello 4 dell'esempio relativo ai dati combinati in cui
Numero massimo di ripetizioni è impostato su Senza limiti.
Lo
schema di file flat è completo e pronto per la verifica.
- Incollare il seguente testo nel pannello secondario a sinistra del pannello
di verifica:
BuyRight Pharmacy;USACAMVI334;!389!22;34980;
Taylor
Drugs;USANJWLB128;!778!23!523;5667;
Questi dati vengono
forniti anche nel file
mixedData.txt. Se durante l'installazione di Studio
sono stati accettati i valori predefiniti, questo file è contenuto nella seguente directory:
C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchemaAttenzione: non aggiungere un carattere di ritorno a capo dopo l'ultima riga.
- Fare clic sull'icona Verifica.
Viene visualizzata la finestra di dialogo Conferma
salvataggio.
- Fare clic su Sì. La seguente rappresentazione XML
dei dati viene visualizzata nel pannello Verifica:
<?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>
- Nella scheda Layout schema, fare clic sul nodo
item. Nel pannello secondario a destra del pannello
Verifica i dati analizzati nel nodo item
vengono evidenziati, come mostrato nella Figura 10:
Figura 10. Il nodo item viene evidenziato
- Fare clic sul nodo state per visualizzare
i dati assegnati nel nodo state.
Nota: un'implementazione di
riferimento dello schema di file flat
Order viene
fornita nel progetto FlatFileSchemasExample. Per visualizzare e aprire
il progetto FlatFileSchemasExample, attenersi ai passi 1 e 2 in
Esempio di gruppi e fare doppio clic sullo schema di file flat
Order. I nodi dello schema di file flat Order vengono visualizzati
nella scheda
Layout schema e le proprietà
del nodo root
Order vengono visualizzate nel pannello di destra.