Frågedelen av begäranden och vinjett::Modifierarsträngar kan innehålla användardefinierade variabler.
$ name = value
name
- Variabelnamn. Kan bestå av en kombination av alfa-, siffra- och säkra tecken, med undantag för $
.
value
- Värde som variabeln ska anges till (sträng).
Variabler definieras på liknande sätt som andra serverkommandon, med syntaxen ovan. Variabler måste definieras innan de kan refereras. Variabler som definieras i vignette::Modifier
kan refereras i URL-begäran och omvänt.
value
måste vara URL-kodad med ett-pass för säker HTTP-överföring. Dubbel kodning krävs om value
överförs på nytt via HTTP. Detta är fallet när value
ersätts med en kapslad utlandsbegäran.
Variabler refereras genom inbäddning av variabelnamnet (omges av ett radavstånd och ett efterföljande $
) var som helst i kommandovärden. Till exempel mellan =
följt av kommandonamnet och efterföljande &
eller slutet av begäran. Servern ersätter varje sådan förekomst av $ name$
med string
. Inga substitutioner förekommer vid någon förekomst av $ name$
i kommandonamn (före likhetstecknet för ett kommando) och i sökvägsdelen av begäran.
Anpassade variabler får inte kapslas. Eventuella förekomster av $ name$
inom string
ersätts inte. Exempelvis begärandefragmentet $var2=apple&$var1=my$var2$tree&text=$var1$
löser till text=my$var2$tree
.
$
är inte ett reserverat tecken, det kan inträffa på annat sätt i begäran. Till exempel: src=my$texture$file.tif
är ett giltigt kommando (förutsatt att en materialkatalogpost eller texturfil med namnet my$texture$file.tif
finns), while wid=$number$
inte, eftersom wid=
kräver ett numeriskt argument.