While
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, B, Barcode, Bookmark, Br, Column, Columns, Copy-of, DefineColor, DefineFontfamily, Element, EmptyLine, Fontface, ForAll, Group, HSpace, Hyphenation, Image, Include, 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
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.
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 <= 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>