Ersatzvariablen

Letzte Aktualisierung: 2023-11-04
  • Erstellt für:
  • Developer
    User

Ersatzvariablen werden verwendet, um Werte von der Anforderungs-URL an in Bildkatalogen gespeicherte Komponentenvorlagen zu übertragen. Variablen können auch verwendet werden, um denselben Wert an verschiedene Stellen in einer komplexen Anforderung zu vermitteln.

$ *var*= *value*

var

Variablenname.

value

Wert, auf den die Variable gesetzt werden soll (Zeichenfolge).

Variablendefinitionen und -verweise können im Abfrageabschnitt der Anforderung auftreten, in catalog::Modifierund in catalog::PostModifier.

Variablen werden wie oben definiert, ähnlich wie andere IS-Befehle; der vorangestellte '$' identifiziert den Befehl als Variablendefinition. Variablen müssen definiert werden, bevor sie referenziert werden.

Der Variablenname var nicht zwischen Groß- und Kleinschreibung unterscheiden und aus einer beliebigen Kombination aus ASCII-Buchstaben, Zahlen, '-', '_' und '.' bestehen können.

HINWEIS

value muss URL-kodiert mit einem Durchgang sein, um eine sichere HTTP-Übertragung zu ermöglichen. Eine Doppelkodierung ist erforderlich, wenn value wird über HTTP erneut übertragen. Dies ist der Fall, wenn value wird in eine verschachtelte ausländische Anforderung oder in das href-Attribut einer SVG ersetzt <image> -Element.

Variablenverweise bestehen aus dem Variablennamen, der durch das aufeinander folgende '$' ($) getrennt ist var$). Verweise können an einer beliebigen Stelle im Werteteil beliebiger IS-Befehle auftreten (d. h. zwischen dem '=' nach dem Befehlsnamen und dem nachfolgenden '&' oder dem Ende der Anfrage). Benutzerdefinierte Variablen können nicht auf die layer= und effect= Befehle. Im selben Befehlswert sind mehrere Variablen zulässig. Der Server ersetzt jedes Vorkommen von $ *var*$ mit value.

Variablenverweise sind möglicherweise nicht verschachtelt. Alle Vorkommnisse von $ *var*$ Innerhalb value nicht ersetzt werden.

Beispielsweise das Anforderungsfragment:

$var2=apple&$var1=my$var2$tree&text=$var1$

löst Folgendes auf:

text=my$var2$tree

HINWEIS

'$' ist kein reserviertes Zeichen; es kann andernfalls in der Anfrage auftreten. Beispiel: src=my$image$file.tif ist ein gültiger Befehl (vorausgesetzt, dass ein Katalogeintrag oder eine Bilddatei mit dem Namen my$image$file.tif ist vorhanden), während wid=$number$ nicht, weil wid erfordert ein numerisches Argument.

Variablenverarbeitung in verschachtelten Anforderungen

$ *var*$ -Verweise können an einer beliebigen Stelle in den geschweiften Klammern einer verschachtelten Image Serving- oder Image Rendering-Anforderung auftreten, auch links neben "?" Trennen Sie den Pfad von der Abfrage. Der Server ersetzt diese Verweise durch Werte (entweder aus der URL oder aus catalog::Modifier des Hauptbildkatalogs) vor der weiteren Analyse und Verarbeitung der verschachtelten Anforderung.

Darüber hinaus $ *var*= Definitionen aus der URL oder catalog::Modifier werden an alle verschachtelten Image Serving- und Image Rendering-Anforderungen weitergeleitet. Dadurch wird sichergestellt, dass alle Variablendefinitionen unabhängig von der Verschachtelungsebene für alle Vorlagen verfügbar sind.

Unabhängig von der Verschachtelungsstufe darf nur die HTTP-Kodierung mit einem Durchgang auf Variablenwerte angewendet werden, die an einer beliebigen Stelle in verschachtelten Image Rendering- oder Image Serving-Anforderungen oder den zugehörigen zugehörigen Anforderungen ersetzt werden sollen catalog::Modifier Zeichenfolgen.

Variablenverarbeitung in eingebetteten ausländischen Anforderungen

$ *var*$ Verweise, die an einer beliebigen Stelle in den geschweiften Klammern einer eingebetteten ausländischen Anforderung auftreten, werden durch übereinstimmende Variablendefinitionswerte ersetzt. Dadurch können eingebettete ausländische Anforderungen in eine Vorlage in einem Bildkatalog eingefügt werden.

Variablenwerte, die in ausländische Anforderungen ersetzt werden sollen, müssen in der Regel doppelt kodiert sein, da keine Neukodierung angewendet wird, bevor der Server versucht, die endgültige ausländische URL zu übertragen.

Variablenverarbeitung in SVG-Dateien

$ *var*$ -Verweise können in SVG-Dateien in Attributwerten und in <text> Zeichenfolgen. Image Serving ersetzt diese mit dem entsprechenden $ *var*= Definitionen, die auf der Anfrageverschachtelungsebene bekannt sind, auf der die SVG-Datei angegeben ist.

HINWEIS

Jeder Variablenwert, der durch einen href -Attributwert doppelt URL-kodiert sein; alle anderen müssen einzeln kodiert sein.

Vordefinierte Pfadvariable

Die object im Anfragepfad angegeben ist, wird der vordefinierten Variablen zugewiesen *$object*. ' $ *Objekt*$" kann an einer beliebigen Stelle in der Anfrage, in der von der Anfrage referenzierten Vorlage oder in einer verschachtelten/eingebetteten Anforderung platziert werden, in der ein solches Objekt zulässig ist, einschließlich des Werts von src= und mask=und den Pfad einer verschachtelten/eingebetteten Anforderung.

Beispielsweise verwendet die folgende Anfrage das im Pfad angegebene Bild als Quelle einer Ebene in einer verschachtelten Anforderung erneut:

/is/image/a/b?…&layer=3&src=is{…&src=$object$}&…

Dies entspricht

/is/image/a/b?…&layer=3&src=is{…&src=a/b}&…

Die Definition von *$object* kann durch explizite Angabe von $ *Objekt*= mit dem gewünschten Wert.

Die vordefinierte Pfadvariable wird häufig zusammen mit template=.

Standard

Keine. Nur definierte Variablen werden vom Server ersetzt (mit Ausnahme der vordefinierten Pfadvariablen $object, die immer ersetzt wird). Alle Vorkommnisse von $ *var*$ bleiben literal, wenn *var*kann nicht mit einer vorhandenen Variablendefinition übereinstimmen.

Beispiele

Siehe "Beispiel A"in Vorlagen.

Verwandte Themen

Vorlagen, template=

Auf dieser Seite