Version dev

# `Pagetype`

Definiert eine Seitenvorlage. Anhand der Kriterien, die im Attribut test angegeben werden, wählt das System eine Seitenvorlage aus.

## Kindelemente

`AtPageCreation`, `AtPageShipout`, `ForAll`, `Grid`, `Margin`, `PositioningArea`

## Elternelemente

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

## Attribute

`background-color` (Text, optional, seit Version 5.1.0)
  Der Name der Hintergrundfarbe (überschreibt Voreinstellung). Die Farbe ‘-’ löscht die Voreinstellung.
`columnordering` (optional, seit Version 4.1.18)
  Drehe die Reihenfolge der Spalten im rtl-Modus um. Ändert nur die Bereiche, die nebeneneinander sind.
  - `ltr`: Die Spalten sind in der Reihenfolge von erster zu letzten. (Voreinstellung)
  - `rtl`: Kehre die Reihenfolge der Spalten um. Die zuerst definiert Spalte wird als letzte gefüllt.
`defaultcolor` (Text, optional, seit Version 2.9.3)
  Die Textfarbe der Seite, sofern sie nicht in Textblock oder Paragraph überschrieben wird. Voreinstellung ist ‘black’.
`height` (Längenangabe, optional, seit Version 4.1.13)
  Die Seitenhöhe. Voreinstellung ist die globale Einstellung.
`name` (Text)
  Name der Seitenvorlage. Der Name ist zu Informationszwecken und zur Auswahl bei `ClearPage`.
`part` (Text, optional, seit Version 4.3.4)
  Setze den Abschnitt des Dokuments, in dem der Seitentyp enthalten ist (mainmatter ist die Voreinstellung)
`test` (XPath-Ausdruck)
  Wenn der XPath-Ausdruck »wahr« ergibt, dann wird diese Seite als Vorlage genommen.
`width` (Längenangabe, optional, seit Version 4.1.13)
  Die Seitenbreite. Voreinstellung ist die globale Einstellung.

## Bemerkungen

Die Inhalte des Elements `AtPageCreation` werden ausgeführt, sobald das erste Mal auf die Seite zugegriffen wird, bei `AtPageShipout` werden die Inhalte ausgeführt, sobald beispielsweise `ClearPage` aufgerufen wird.

Wenn eine neue Seite erzeugt wird, werden die Seitentypen in umgekehrter Reihenfolge geprüft. Das bedeutet, dass die allgemeineren Seitentypen zuerst definiert werden müssen, später die speziellen. Das ist nur dann wichtig, wenn mehrere Bedingungen »wahr« ergeben würden.

## Beispiel

    <Pagetype name="rechte Seite" test=" sd:odd( sd:current-page() ) ">

    <Pagetype name="linke Seite" test=" sd:even( sd:current-page() ) ">

    <Pagetype name="Hauptteil rechte Seite" test=" sd:odd( sd:current-page() )  and $kapitel='hauptteil' ">

    <Pagetype name="rechte Seite" test="sd:odd( sd:current-page() )">
      <Margin left="1cm" right="1cm" top="1cm" bottom="1cm"/>
      <AtPageCreation>
        <PlaceObject>
          ...
        </PlaceObject>
      </AtPageCreation>
      <AtPageShipout>
        <PlaceObject>
          ....
        </PlaceObject>
      </AtPageShipout>
      <PositioningArea name="rahmen1">
        <PositioningFrame width="12" height="30" column="2" row="2"/>
        <PositioningFrame width="12" height="30" column="16" row="2"/>
      </PositioningArea>
    </Pagetype>

#### Inhalt