Version 5.5.8

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 , Ol , Output , Paragraph , PlaceObject , SortSequence , Switch , Table , TableNewPage , Tablehead , Tablerule , Td , Tr , Ul , Value

Elternelemente

AtPageCreation , AtPageShipout , Case , Contents , ForAll , Function , Include , Layout , Loop , Otherwise , Record , SavePages , Section , Table , 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>