Version 5.9.4

# `While`

Erzeugt eine Schleife, die wiederholt durchlaufen wird. Die Kindelemente werden so oft ausgeführt, solange die Bedingung im Attribut »wahr« ergibt.

## Kindelemente

`A`, `AddSearchpath`, `AttachFile`, `Attribute`, `B`, `Barcode`, `Bookmark`, `Box`, `Br`, `ClearPage`, `Clip`, `Color`, `Column`, `Columns`, `Copy-of`, `DefineColor`, `DefineFontalias`, `DefineFontfamily`, `DefineMatter`, `DefineTextformat`, `Element`, `Fontface`, `ForAll`, `Frame`, `Group`, `HSpace`, `HTML`, `Hyphenation`, `I`, `Image`, `Include`, `Initial`, `InsertPages`, `Layout`, `Li`, `LoadDataset`, `LoadFontfile`, `Loop`, `Mark`, `Math`, `Message`, `NextFrame`, `NextRow`, `NoBreak`, `Options`, `Output`, `Overlay`, `Pageformat`, `Pagetype`, `Paragraph`, `PlaceObject`, `PositioningArea`, `PositioningFrame`, `ProcessNode`, `SaveDataset`, `SavePages`, `Section`, `SetGrid`, `SetVariable`, `SortSequence`, `Span`, `StructureElement`, `Sub`, `Sup`, `Switch`, `Table`, `TableNewPage`, `Tablehead`, `Tablerule`, `Td`, `Tr`, `Trace`, `Transformation`, `U`, `Until`, `VSpace`, `Value`, `While`

## Elternelemente

`AtPageCreation`, `AtPageShipout`, `Case`, `Contents`, `ForAll`, `Layout`, `Loop`, `Otherwise`, `Record`, `SavePages`, `Section`, `Until`, `While`

## Attribute

`test` (XPath-Ausdruck)
  Für jedes Mal, das die Schleife durchlaufen werden soll, muss die Bedingung im Attribut erfüllt sein. Die Bedingung wird am Anfang der Schleife überprüft. Eine Schleife, bei der die Bedingung am Ende der Schleife geprüft wird, ist `Until`.

## Beispiel

Folgendes Beispiel erzeugt einen Textblock mit dem Inhalt „Text Text Text“.

    <Record element="url">
      <SetVariable variable="zaehler" select="1"/>
      <SetVariable variable="text" select="''"/>
      <While test=" $zaehler &lt;= 3 "> <!-- kleiner oder gleich -->
        <SetVariable variable="zaehler" select=" $zaehler + 1"/>
        <SetVariable variable="text">
          <Value select="$text"/>
          <Value select="'Text '"/>
        </SetVariable>
      </While>
      <PlaceObject>
        <Textblock>
          <Paragraph><Value select="$text"></Value></Paragraph>
        </Textblock>
      </PlaceObject>
    </Record>

#### Inhalt