Come filtrare nodi ricorrenti

Specificando un predicato XPath su cui basare il filtro durante il runtime, è possibile limitare i nodi ricorrenti restituiti da un'attività di associazione.

Informazioni su questa attività

Eseguendo l'operazione di filtro tramite un predicato, direttamente nei pannelli di associazione delle attività, non saranno più necessarie le seguenti attività: L'eliminazione delle attività di loop e If..Then migliora le prestazioni dell'orchestrazione.
Ad esempio, è possibile limitare i libri elaborati dall'orchestrazione BatchOrderProcessingSample, in modo che vengano restituiti solamente titoli di libri che iniziano con la lettera B, utilizzando uno dei seguenti metodi:
  • Dopo l'attività Leggi file flat che converte dati di file flat in XML, è possibile aggiungere un'attività While Loop che contiene un'attività If..Then, che effettua la verifica di tutti i titoli di libri che iniziano con la lettera B. Quando l'attività While Loop viene completata durante il runtime, restituisce l'insieme di nodi ricorrenti BookOrder i cui titoli iniziano con la lettera B.
  • Applicare il filtro specificando un predicato direttamente nel pannello A orchestrazione dell'attività Associa output dell'attività Leggi file flat, che converte i dati di file flat in XML. Questo è il metodo migliore, poiché riduce l'elaborazione durante il runtime, migliorando le prestazioni dell'orchestrazione.  Ad esempio, è possibile specificare il seguente predicato sul nodo ricorrente BookOrder per limitare i nodi Bookorder restituiti durante il runtime solamente ai titoli che iniziano con la lettera B:*:title/starts-with(.,'B')
Questo predicato di esempio viene spiegato nella tabella riportata di seguito:
Caratteri del predicato Descrizione
*: Specifica che questo predicato si applica a qualsiasi spazio dei nomi del nodo di origine.
title/ Specifica di applicare questo predicato rispetto al nodo title del nodo di origine corrente.
starts-with(.,'B') Specifica che questo predicato restituisce solamente i nodi con nodi title che iniziano con la lettera B. La funzione starts-with è una funzione XPath predefinita.

Per ulteriori informazioni sull'esempio BookOrder, consultare il manuale Getting Started Guide. Se durante l'installazione di Studio sono stati accettati i valori predefiniti, è possibile trovare l'implementazione di riferimento dell'esempio nella seguente directory: C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\BookOrder

Per specificare un predicato su un nodo ricorrente:

Procedura

  1. È possibile applicare un filtro solo su un nodo di destinazione ricorrente, che è associato ad un nodo di origine ricorrente nei pannelli di associazione delle attività, come mostrato nel seguente pannello Associa output dell'attività Leggi file flat nell'orchestrazione BatchOrderProcessingSample:
  2. Fare clic con il tasto destro del mouse sul nodo occurrence di destinazione (in questo esempio, BookOrder/occurrence) e selezionare Filtra nodi ricorrenti dal menu. Viene visualizzata la finestra di dialogo Filtra nodi ricorrenti.
  3. Immettere il predicato XPath. Per questo esempio, immettere il predicato mostrato nella seguente figura:
  4. Fare clic su OK. Il predicato viene valutato per determinare se è valido:
    • Se il predicato non è valido, viene riportato un messaggio di errore.
    • Se il predicato è valido, l'icona del filtro (Icona del nodo ricorrente) viene visualizzata accanto al nodo occurrence di destinazione.