Benutzerdefinierte Variablen custom-variables
Der Abfrageteil von Anfragen und „vignette:Modifier“-Zeichenfolgen kann benutzerdefinierte Variablen enthalten.
$ name = value
name
- Variablenname. Kann aus einer beliebigen Kombination von Buchstaben, Ziffern und sicheren Zeichen bestehen, mit Ausnahme von $
.
value
- Wert, auf den die Variable gesetzt werden soll (Zeichenfolge).
Variablen werden ähnlich wie andere Server-Befehle unter Verwendung der obigen Syntax definiert. Variablen müssen definiert werden, bevor sie referenziert werden können. Variablen, die in vignette::Modifier
definiert sind, können in der URL-Anfrage referenziert werden und umgekehrt.
value
muss für eine sichere HTTP-Übertragung URL-kodiert sein. Doppelte Kodierung ist erforderlich, wenn value
erneut über HTTP übertragen wird. Dies ist der Fall, wenn value
durch eine verschachtelte Fremdanforderung ersetzt wird.Variablen werden durch Einbetten des Variablennamens (eingeschlossen von einem führenden und einem nachfolgenden $
) an einer beliebigen Stelle in Befehlswerten referenziert. Beispielsweise zwischen dem =
, der dem Befehlsnamen folgt, und dem nachfolgenden &
oder dem Ende der Anfrage. Der Server ersetzt jedes Vorkommen von $ name$
durch string
. Es finden keine Ersetzungen statt bei $ name$
in Befehlsnamen (vor dem Gleichheitszeichen eines Befehls) und im Pfadteil der Anfrage.
Benutzerdefinierte Variablen dürfen nicht verschachtelt sein. Alle Vorkommen von $ name$
in string
werden nicht ersetzt. Beispielsweise wird das Anfragefragment $var2=apple&$var1=my$var2$tree&text=$var1$
zu text=my$var2$tree
aufgelöst.
$
ist kein reserviertes Zeichen; es kann auch anders in der Anfrage vorkommen. src=my$texture$file.tif
ist beispielsweise ein gültiger Befehl (vorausgesetzt, dass ein Materialkatalogeintrag oder eine Strukturdatei mit dem Namen my$texture$file.tif
vorhanden ist), wid=$number$
ist dies jedoch nicht, da wid=
ein numerisches Argument erfordert.