Version 5.9.2

# `ForAll`

Ruft die Kindelemente für alle Daten-Elemente auf, die auf das Muster bei `select` passen.

## 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

`A`, `AtPageCreation`, `AtPageShipout`, `B`, `Case`, `Color`, `Columns`, `Contents`, `Element`, `Fontface`, `ForAll`, `Function`, `I`, `Li`, `Loop`, `NoBreak`, `Ol`, `Otherwise`, `Pagetype`, `Paragraph`, `Record`, `SaveDataset`, `SavePages`, `SetVariable`, `Span`, `Table`, `Tablefoot`, `Tablehead`, `Td`, `Text`, `Textblock`, `Tr`, `U`, `URL`, `Ul`, `Until`, `While`

## Attribute

`limit` (Zahl, optional, veraltet)
  Die Anzahl der Kinder wird durch die Zahl begrenzt.
`select` (XPath-Ausdruck)
  Wählt die Kindelemente aus.
`start` (Zahl, optional, seit Version 2.3.67, veraltet)
  Der erste Eintrag der verarbeitet werden soll. Voreinstellung ist 1.

## Bemerkungen

Mit dem aktuellen XPath parser dürfen start und limit nicht mehr angegeben werden. Dafür müssen XPath Prädikate benutzt werden, das sind Ausdrücke in eckigen Klammern. Z.B. start=“4” und limit=“8” könnte mit `element[position() > 3 and position() &lt; 8]` erreicht werden.

## Beispiel

    <Record element="data">
      <PlaceObject>
        <Table>
          <ForAll select="eintrag">
            <Tr><Td><Paragraph><Value select="string(.)"></Value></Paragraph></Td></Tr>
          </ForAll>
        </Table>
      </PlaceObject>
    </Record>

Erzeugt eine Tabellenzeile für alle Elemente `eintrag` im Datensatz `data`. So müsste in etwa ein entsprechender Eintrag in den Daten aussehen:

    <data>
      <eintrag>a</eintrag>
      <eintrag>b</eintrag>
      <eintrag>c</eintrag>
    </data>

#### Inhalt