ForEach

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">
...
  <pcs:value expr="item.headline"></pcs:value>
  <pcs:value expr="item.story"></pcs:value>
  Questo � l'elemento <pcs:value expr="item_position"></pcs:value> fuori da
  <pcs:value expr="item_size"></pcs:value>
...
</pcs:foreach>

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.