Variables de sustitución substitution-variables

Las variables de sustitución se utilizan para transferir valores desde la dirección URL de la solicitud a plantillas de composición almacenadas en catálogos de imágenes. Las variables también se pueden utilizar para transmitir el mismo valor a diferentes lugares de una solicitud compleja.

$ *var*= *value*

var
Nombre de variable.
valor
Valor en el que se va a establecer la variable (cadena).

Las definiciones y referencias de variables pueden producirse en la parte de consulta de la solicitud, en catalog::Modifier y en catalog::PostModifier.

Las variables se definen como se ha indicado anteriormente, de forma similar a otros comandos IS; el '$' inicial identifica el comando como una definición de variable. Se deben definir las variables antes de hacer referencia a ellas.

El nombre de variable var no distingue entre mayúsculas y minúsculas y puede estar formado por cualquier combinación de letras ASCII, números, '-', '_' y '.'.

NOTE
value debe tener codificación URL de un solo paso para la transmisión HTTP segura. La codificación doble es necesaria si value se retransmite mediante HTTP. Este es el caso cuando value se sustituye en una solicitud externa anidada o en el atributo href de un elemento del SVG <image>.

Las referencias de variables consisten en el nombre de variable delimitado por '$$' inicial y final ($var$). Las referencias pueden producirse en cualquier parte de la porción de valor de cualquier comando IS (es decir, entre el signo "=" después del nombre del comando y el signo "&" posterior o el final de la solicitud). No se pueden aplicar variables personalizadas a los comandos layer= y effect=. Se permiten varias variables en el mismo valor de comando. El servidor reemplaza cada ocurrencia de $ *var*$ con value.

Las referencias de variables no pueden estar anidadas. No se sustituye ninguna aparición de $ *var*$ en value.

Por ejemplo, el fragmento de solicitud:

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

se resuelve en:

text=my$var2$tree

NOTE
'$$' no es un carácter reservado; de lo contrario, puede aparecer en la solicitud. Por ejemplo, src=my$image$file.tif es un comando válido (suponiendo que existe una entrada de catálogo o un archivo de imagen denominado my$image$file.tif), mientras que wid=$number$ no lo es, porque wid requiere un argumento numérico.

Procesamiento de variables en solicitudes anidadas section-26d63adc446c4fa0808e11e8082abdfa

$ *var*$ referencias pueden ocurrir en cualquier lugar dentro de las llaves de una solicitud anidada de servicio o procesamiento de imágenes, incluso a la izquierda de '?' separar la ruta de la consulta. El servidor sustituye estas referencias por valores (desde la dirección URL o desde catalog::Modifier del catálogo de imágenes principal) antes de analizar y procesar más la solicitud anidada.

Además, todas las definiciones de $ *var*= de la dirección URL o catalog::Modifier se reenvían a todas las solicitudes anidadas de servicio y procesamiento de imágenes. Esto garantiza que todas las definiciones de variables estén disponibles para todas las plantillas, independientemente del nivel de anidamiento.

Independientemente del nivel de anidamiento, solo se debe aplicar la codificación HTTP de un solo paso a los valores de variable que se van a sustituir en cualquier lugar de las solicitudes anidadas de Image Rendering o Image Serving o sus cadenas catalog::Modifier asociadas.

Procesamiento de variables en solicitudes externas incrustadas section-314e39a9aefb46faa737fd137897d1b0

Las referencias $ *var*$ que se producen en cualquier lugar dentro de las llaves de una solicitud externa incrustada se sustituyen por valores de definición de variable coincidentes. Esto permite colocar solicitudes externas incrustadas en una plantilla de un catálogo de imágenes.

Los valores de variable que se sustituyen en solicitudes externas suelen ser de codificación doble, ya que no se aplica ninguna recodificación antes de que el servidor intente transmitir la dirección URL externa final.

Procesamiento de variables en archivos de SVG section-a8359f9909764142b6a18ae778dca913

Las referencias $ *var*$ pueden aparecer en archivos de SVG en valores de atributo y en cadenas de <text>. El servicio de imágenes los sustituye por las definiciones $ *var*= coincidentes conocidas en el nivel de anidamiento de solicitud en el que se especifica el archivo SVG.

NOTE
Cualquier valor de variable que se vaya a sustituir en un valor de atributo href debe tener doble codificación de dirección URL; todos los demás deben tener una codificación individual.

Variable de ruta predefinida section-930d0dd12e8f49499becc9fe8df24092

El object especificado en la ruta de solicitud se ha asignado a la variable predefinida *$object*. ' $ *object*$' se puede colocar en cualquier lugar de la solicitud, en la plantilla a la que hace referencia la solicitud o en una solicitud anidada o incrustada donde se permita dicho objeto, incluidos el valor de src= y mask=, y la ruta de acceso de una solicitud anidada o incrustada.

Por ejemplo, la siguiente solicitud reutiliza la imagen especificada en la ruta como origen de una capa en una solicitud anidada:

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

Esto equivale a

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

La definición de *$object* se puede anular especificando explícitamente $ *object*= con el valor deseado.

La variable de ruta de acceso predefinida se utiliza comúnmente junto con template=.

Predeterminado section-b02483d15529444586a2e9504805b155

Ninguna. El servidor solo sustituye las variables que se han definido (excepto la variable de ruta predefinida $object, que siempre se sustituye). Cualquier incidencia de $ *var*$ será literal si *var* no coincide con una definición de variable existente.

Ejemplos section-fba9393df6984247b7e30b3f93992e86

Consulte "Ejemplo A" en Plantillas.

Véase también section-11b44cc824744f70b1705ebdd9ec4fe6

Plantillas, plantilla=

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49