Ersatzvariablen

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.

$ * *= *varvalue*

var

Variablenname.

value

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

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

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

Beim Variablennamen var wird nicht zwischen Groß- und Kleinschreibung unterschieden. Er kann aus einer beliebigen Kombination aus ASCII-Buchstaben, Zahlen, '-', '_' und '.' bestehen.

HINWEIS

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

Variablenverweise bestehen aus dem Variablennamen, der durch das Voranstellen und Nachstellen von '$' ($var$) getrennt wird. 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 Befehle layer= und effect= angewendet werden. Im selben Befehlswert sind mehrere Variablen zulässig. Der Server ersetzt jedes Vorkommen von $ *var*$ durch value.

Variablenverweise sind möglicherweise nicht verschachtelt. Jedes Vorkommen von $ *var*$ innerhalb von value wird nicht ersetzt.

Beispielsweise das Anforderungsfragment:

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

löst Folgendes auf:

text=my$var2$tree

HINWEIS

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

Variablenverarbeitung in verschachtelten Anforderungen

$ * *$ Varreferenzen 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), bevor die verschachtelte Anforderung weiter analysiert und verarbeitet wird.

Darüber hinaus werden alle $ *var*=-Definitionen aus der URL oder catalog::Modifier 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 eine einmalige HTTP-Kodierung auf Variablenwerte angewendet werden, die an einer beliebigen Stelle in verschachtelten Image Rendering- oder Image Serving-Anforderungen oder den zugehörigen catalog::Modifier-Zeichenfolgen ersetzt werden sollen.

Variablenverarbeitung in eingebetteten ausländischen Anforderungen

$ * *$ Variablenverweise, 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

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

HINWEIS

Jeder Variablenwert, der in einen href -Attributwert ersetzt werden soll, muss doppelt URL-codiert sein. alle anderen müssen einzeln kodiert sein.

Vordefinierte Pfadvariable

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

Beispielsweise wird mit der folgenden Anfrage das im Pfad angegebene Bild als Quelle einer Ebene in einer verschachtelten Anforderung wiederverwendet:

/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 überschrieben werden, indem $ *object*= explizit mit dem gewünschten Wert angegeben wird.

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

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*nicht mit einer vorhandenen Variablendefinition übereinstimmen kann.

Beispiele

Siehe "Beispiel A"in Vorlagen.

Verwandte Themen

Vorlagen, template=

Auf dieser Seite