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, 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>
Siehe auch
Die Kapitel Programmierung und Bilder mit MetaPost erstellen und einbinden.