SetVariable

Weist einer Variablen einen Wert zu. Der Wert kann aus mehreren Elementen bestehen (siehe zweites Beispiel).

Kindelemente

Attribute, ClearPage, Column, Columns, Copy-of, Element, ForAll, Loop, Output, Paragraph, PlaceObject, SortSequence, Switch, Table, TableNewPage, Tablehead, Tablerule, Td, Tr, Value

Elternelemente

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

Attribute

execute (optional, seit Version 4.11.8)

Führe den Inhalt sofort aus oder später bei der Benutzung.

now

Führe den Inhalt sofort aus (Voreinstellung).

later

Führe den Inhalt bei der Benutzung von Copy-of aus. Experimentell.

select (XPath-Ausdruck, optional)

Inhalt, der der Variablen zugewiesen wird.

trace (optional)

Zeige Informationen über die Zuweisung in der Logdatei.

yes

Zeige Informationen.

no

Zeige keine Informationen (Voreinstellung).

type (optional, seit Version 4.3.10)

Setzt den Datentyp der Variable. Derzeit nur für MetaPost-Variablen unterstützt.

sd:any

Der voreingestellte Datentyp für die speedata Layoutsprache.

mp:boolean

Ein boolescher Wert für MetaPost.

mp:cmykcolor

Eine MetaPost CMYK Farbe.

mp:numeric

Ein nummerischer Wert für MetaPost.

mp:string

Eine Zeichenkette für MetaPost.

mp:rgbcolor

Eine MetaPost RGB Farbe.

variable (Text)

Name der Variablen, der etwas zugewiesen werden soll.

Bemerkungen

Variablen haben eine globale Sichtbarkeit.

Beispiel

<Record element="produkt">
  <SetVariable variable="Textbreite" select="5"/>
  <PlaceObject>
    <Textblock width="{ $Textbreite }">
      <Paragraph>
        <Value select="$Artikelnummer"/>
      </Paragraph>
    </Textblock>
  </PlaceObject>
</Record>

Folgendes Beispiel zeigt, wie mehrere Absätze in einer Variablen gespeichert werden, um sie anschließend in einem Textblock auszugeben.

<Record element="produkte">
  <SetVariable variable="Artikeltext"/>
  <ProcessNode select="artikel"/>
  <PlaceObject>
    <Textblock>
      <Value select=" $Artikeltext "/>
    </Textblock>
  </PlaceObject>
</Record>

<Record element="artikel">
  <SetVariable variable="Artikeltext">
    <!-- Der vorherige Inhalt wird hinzugefügt -->
    <Value select="$Artikeltext"/>
    <Paragraph>
      <Value select=" @beschreibung " />
    </Paragraph>
  </SetVariable>
</Record>

Siehe auch

Die Kapitel Programmierung und Bilder mit MetaPost erstellen und einbinden.