Elementname: While

Description

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

Allowed attributes: test

Child elements: Action, Attribute, Barcode, Column, Columns, Copy-of, DefineColor, DefineFontfamily, Element, EmptyLine, Fontface, ForAll, Group, HSpace, Hyphenation, Image, InsertPages, Li, LoadDataset, LoadFontfile, Loop, Message, NewPage, NextFrame, NextRow, Output, Paragraph, PlaceObject, ProcessNode, SaveDataset, SavePages, SetVariable, SortSequence, Sub, Sup, Switch, Tablehead, Tablerule, Td, Tr, Until, Value, While

Parent elements: AtPageCreation, AtPageShipout, Case, Contents, ForAll, Loop, Otherwise, Record, SavePages, Until, While

Attributes

test (XPath expression)

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 thre 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 column="1">
    <Textblock width="10">
      <Paragraph><Value select="$text"/></Paragraph>
    </Textblock>
  </PlaceObject>
</Record>  

See also

Switch, SetVariable, Until

Commands

Version: 2.0.0 | Start page | Command reference | Other languages: German