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>
