Ab Version 6.7.1 können Exportvariablen als lokal definiert werden. Dadurch kann in mehreren Sublayouts derselbe Variablenname verwendet werden, ohne dass es während des Exports zu Namenskonflikten kommt. In Verbindung mit der Möglichkeit, Sublayouts Argumente zu übergeben, die dann ebenfalls als lokale Variablen vorliegen, lassen sich Layouts besser modularisieren und leichter pflegen.
Der Geltungsbereich einer lokalen Variablen ist auf das Layout beschränkt, in dem die Variable definiert wird. Weder in den aufrufenden Layouts noch in Sublayouts auf tieferen Ebenen ist die lokale Variable verfügbar.
Eine Variable kann in der definierenden Anweisung modifyvar
set
als lokal markiert werden, indem das Attribut local
mit dem Wert true
angegeben wird:
<npsobj modifyvar="set" varname="myVar" local="true">
Der Inhalt der Variablen
</npsobj>
Eine existierende gleichnamige globale oder lokale Variable auf einer höheren Layout-Ebene wird immer durch eine lokale Variable verdeckt, die mit modifyvar
set
erzeugt wird.
Lokale Variablen, die mit modifyvar
-append
-Anweisungen erzeugt werden, funktionieren analog. Jedoch wird die angegebene Kontextliste an eine existierende gleichnamige globale oder lokale Variable angehängt. Bei der Anweisung modifyvar
append
werden als lokal markierte Variablen also nur dann lokal sein, wenn die Variable neu angelegt werden muss.