Name

for — Repeats some calculation for every item of a given sequence

Synopsis

any for ( varname string ,
source_set sequence ,
mapping_expn any );

Description

The function creates a temporary local variable, whose name is specified by varname argument. Then, for every item of source_set sequence it calculates the value of mapping_expn expression having set the created variable to that "current" item. It returns the "flattened" sequence of values returned by mapping_expn in the same order as they are calculated. "Flattened" means that if mapping_expn returns an sequence, items of this sequence will be added into the end of resulting sequence, one by one, instead of adding one item of type "sequence".

The temporary variable is destroyed on return.

This function is used in the implementation of "FOR" control operator in XQUERY, so you will probably use that operator in XQUERY expressions, not the function. This function may be useful in XPATH expressions and in XSLT stylesheets. It is not a part of library of standard XQUERY 1.0 functions.

Parameters

varname

Name of temporary variable

source_set

Sequence of items; every item will cause one call of mapping_expn

mapping_expn

An expression which should be calculated for items of source_set .

Return Types

Sequence

Examples

Example24.588.

These two expressions are equivalent, but first may be used in any XPATH while second is written in XQUERY syntax

for('itm', /bid/item, 0.20 * $itm/price)
FOR $itm IN /bid/item RETURN 0.20 * $bid_item/price


See Also

let()

some()

every()