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.