Il tag ForEach consente la ripetizione attraverso una raccolta di oggetti. Si può fare riferimento alla raccolta utilizzando un'espressione (expr) o un percorso (path).
Scegliere una proprietà nell'elenco Proprietà e fare clic su Aggiungi per inserirla nella casella Nome proprietà Elenco contenuti. Se la proprietà selezionata include le sue proprietà, si può aggiungerne una all'espressione, selezionandola dal secondo elenco a discesa e facendo clic su Aggiungi. (Se non esistono raccolte nel modello di inserimento dati attuale, l'elenco Proprietà non sarà disponibile).
L'elenco di valori attraverso cui il tag si ripete dipende dal risultato della valutazione dell'attributo:
Tipo di oggetto |
Valori ripetuti |
elenco |
Ogni elemento di contenuto nella cartella. |
elenco selezioni |
Ciascun valore selezionato nell'elenco selezioni. |
elemento di contenuto |
Elemento di contenuto. |
cartella |
Ogni elemento di contenuto nella cartella. |
Digitare il nome della variabile (facoltativo). In ogni ripetizione, la variabile (nominata nell'attributo var=) è impostata a sua volta su ogni valore. La variabile potrebbe essere utilizzata nel contenuto del tag ForEach da altre espressioni del Publisher (vedi l'esempio seguente). Se non si riesce a valutare l'espressione, l'elemento viene scartato.
Utilizzando le variabili ausiliarie definite nel tag ForEach, si possono fornire informazioni sull'elenco o su ogni elemento dell'elenco. Per generare queste informazioni, aggiungere uno qualsiasi tra i suffissi seguenti alla fine del nome della variabile nel tag.
Variabile ausiliaria |
Descrizione |
NomeVariabile_posizione |
Posizione dell'elemento attuale nell'elenco (inizia con 1 ed aumenta con ogni elemento). |
NomeVariabile_dimensioni |
Numero di elementi nell'elenco. |
NomeVariabile_predecente |
Valore dell'elemento attuale nella ripetizione precedente (il valore del primo passaggio non conta). |
NomeVariabile_successivo |
Valore dell'elemento attuale nella ripetizione successiva (il valore del primo passaggio non conta). |
L'attributo var= può essere omesso dal tag ForEach e nessuna variabile sarà definita per il tag valutato. In ogni caso, le variabili ausiliarie elencate qui sono ancora definite e possono essere utilizzate senza prefisso.
Se si desidera visualizzare testo con ciascun valore nella raccolta, digitarlo nel campo Text da includere con l'elemento FOREACH. (Questo testo appare tra i tag <pcs> di apertura e chiusura nella casella Tag PCS.)
Attributo |
Descrizione |
Sintassi | <pcs:foreach
var="variabile" expr="espressione">testo predefinito</pcs:foreach>
oppure <pcs:foreach var="variabile" expr=" percorso"">testo predefinito</pcs:foreach> |
Esempio |
<pcs:foreach
var="item" expr="article_list"> oppure <pcs:foreach var="item" expr="folderByPath('/autori/ultime')"></pcs:foreach> |
Nota: i suffissi delle variabili, ad esempio NomeVariabile_posizione, non dovrebbero essere confusi con i riferimenti alle proprietà(NomeVariabile.nome). Un suffisso ed il nome della variabile seguito dal suffisso sono considerati una sola parola o un solo simbolo, e sono valutati insieme come unità. I riferimenti alle proprietà sono diversi dai nomi delle variabili cui sono attaccati; sono considerati due nomi specifici e, come tali, valutati l'uno dopo l'altro. La valutazione inizia con il nome della variabile, e procede con quello della proprietà.
Gli elementi ForEach possono essere nidificati. Un elemento ForEach si valuta prima di valutarne (ripetutamente) il contenuto.