Skip to content

While#

Create a loop. All child elements are executed as long as the condition in the test attribute evaluates to true.

Child elements#

ClearPage, Column, Li, LoadDataset, Loop, Message, NextFrame, NextRow, Paragraph, PlaceObject, ProcessNode, SaveDataset, SetVariable, Switch, Tr, Until, Value, While

Parent elements#

AtPageCreation, AtPageShipout, Case, Contents, ForAll, Loop, Otherwise, Record, SetVariable, Until, While

Attributes#

test (XPath expressions)
Every time before the the loop is executed, this condition must evaluate to true. See the command Until for a loop with an exit test.

Example#

The following example creates a textblock with three times the contents 'Text Text Text '.

<Record element="data">
    <SetVariable variable="counter" select="1"/>
    <SetVariable variable="text" select="''"/>
    <While test=" $counter &lt;= 3 "> <!-- less or equal -->
        <SetVariable variable="counter" select=" $counter + 1"/>
        <SetVariable variable="text">
            <Value select="$text"/>
            <Value select="'Text '"/>
      </SetVariable>
    </While>
    <PlaceObject>
        <Textblock>
            <Paragraph><Value select="$text"/></Paragraph>
        </Textblock>
    </PlaceObject>
</Record>

See also#

<Loop>, <Until>, the section about programming.