# Elementname: `Switch`

## Beschreibung

Erzeugt eine „Wenn-Dann-Abfrage“. Das heißt, für jedes Kindelement Case wird überprüft, ob die Bedingung erfüllt ist. Wenn ja, dann wird der Inhalt des Kindelements Case ausgeführt und die Verarbeitung hinter der Fallunterscheidung fortgesetzt. Wenn keine Bedingung erfüllt wurde und ein Element Otherwise gefunden wurde, wird der Inhalt des Elements Otherwise ausgeführt. Durch das frühzeitige Abbrechen werden nachfolgende Fälle nicht weiter untersucht (siehe Beispiel).

Erlaubte Attribute: (keine)

Kindelemente: Case, Otherwise

Elternelemente: AtPageCreation, AtPageShipout, B, Case, Color, Contents, Element, Fontface, ForAll, I, Include, Li, Loop, NoBreak, Otherwise, Overlay, Paragraph, PlaceObject, Position, Record, SavePages, SetVariable, Table, Tablehead, Td, Text, Textblock, Tr, U, URL, Until, While

### Attribute

## Beispiel

    <Record element="...">
      <SetVariable variable="zähler" select="3"/>
      <Switch>
        <Case test=" $zähler &lt; 5">
          <SetVariable variable="text" select="'Kleiner als 5'" />
        </Case>
        <Case test=" $zähler &lt; 20">
          <SetVariable variable="text" select="'Kleiner als 20'" />
        </Case>
        <Otherwise>
          <SetVariable variable="text" select="'Größer als oder gleich 20'" />
        </Otherwise>
      </Switch>
      <PlaceObject column="1">
        <Textblock>
          <Paragraph><Value select="$text" /></Paragraph>
        </Textblock>
      </PlaceObject>
    </Record>

## Hinweis

»Größer« und »kleiner« Vergleiche müssen nach den Regeln von XML kodiert werden. Für »größer« kann das > Zeichen oder &​gt; benutzt werden, »kleiner« muss zwingend als < ausgeschrieben sein, da das Zeichen < nicht in einem XML Attribut vorkommen darf.

Eine Fallunterscheidung kann in fast allen Elementen vorkommen. Das Ergebnis der Fallunterscheidung (also vom benutzten Element Case oder Otherwise) wird an das umgebende Element zurückgegeben. So wird beispielsweise aus

oder

je nach Inhalt der Variablen.

## Siehe auch

Case Otherwise

# Befehlsübersicht

- A
- Action
- AddToList
- AtPageCreation
- AtPageShipout
- Attribute
- B
- Barcode
- Bold
- BoldItalic
- Bookmark
- Box
- Br
- Case
- Circle
- Color
- Column
- Columns
- Contents
- Copy-of
- DefineColor
- DefineFontfamily
- DefineTextformat
- Element
- EmptyLine
- Fontface
- ForAll
- Frame
- Grid
- Group
- HSpace
- Hyphenation
- I
- Image
- Include
- InsertPages
- Italic
- Layout
- Li
- LoadDataset
- LoadFontfile
- Loop
- Makeindex
- Margin
- Mark
- Message
- NewPage
- NextFrame
- NextRow
- NoBreak
- Ol
- Options
- Otherwise
- Output
- Overlay
- PDFOptions
- Pageformat
- Pagetype
- Paragraph
- PlaceObject
- Position
- PositioningArea
- PositioningFrame
- ProcessNode
- Record
- Regular
- Rule
- SaveDataset
- SavePages
- Sequence
- SetGrid
- SetVariable
- SortSequence
- Stylesheet
- Sub
- Sup
- Switch
- Table
- Tablefoot
- Tablehead
- Tablerule
- Td
- Text
- Textblock
- Tr
- Transformation
- U
- URL
- Ul
- Until
- VSpace
- Value
- While

Version: 2.6.1 | Startseite | Befehlsreferenz | Andere Sprache: Englisch