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 vonCopy-ofaus. 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>
