Variáveis de substituição

Substitution variables are used to transfer values from the request URL to compositing templates stored in image catalogs. Variables can also be used to convey the same value to different places in a complex request.

$ *var*= *value*

var

Nome da variável.

value

Valor ao qual a variável deve ser definida (string).

Variable definitions and references may occur in the query portion of the request, in catalog::Modifier, and in catalog::PostModifier.

As variáveis são definidas como acima, semelhantes a outros comandos IS; o '$' à esquerda identifica o comando como uma definição de variável. As variáveis devem ser definidas antes de serem referenciadas.

O nome da variável var não diferencia maiúsculas de minúsculas e pode consistir em qualquer combinação de letras ASCII, números, '-', '_' e '.'.

OBSERVAÇÃO

value must be single-pass URL-encoded for safe HTTP transmission. A codificação dupla é necessária se value é retransmitido via HTTP. Isso ocorre quando value é substituído em uma solicitação externa aninhada ou no atributo href de um SVG <image> elemento.

As referências de variável consistem no nome da variável delimitado por '$' inicial e final ($var$). References may occur anywhere in the value portion of any IS commands (i.e. between the '=' following the command name and the subsequent '&' or the end of the request). Custom variables cannot be applied to the layer= and effect= commands. Multiple variables are permitted in the same command value. The server substitutes each occurrence of $ *var*$ with value.

Variable references may not be nested. Any occurrences of $ *var*$ within value are not substituted.

For example, the request fragment:

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

resolves to:

text=my$var2$tree

OBSERVAÇÃO

'$' is not a reserved character; it may occur otherwise in the request. Por exemplo, src=my$image$file.tif é um comando válido (supondo que uma entrada de catálogo ou arquivo de imagem chamado my$image$file.tif existe), while wid=$number$ não, porque wid exige um argumento numérico.

Processamento de variável em solicitações aninhadas

$ *var*$ references may occur anywhere within the curly braces of a nested Image Serving or Image Rendering request, including to the left of the '?' separando o caminho da query. O servidor substitui essas referências por valores (do url ou de catalog::Modifier do catálogo de imagens principal) antes de analisar e processar a solicitação aninhada.

Além disso, todos $ *var*= definições do url ou catalog::Modifier são encaminhadas para todas as solicitações aninhadas de Exibição de imagem e Renderização de imagem. Isso garante que todas as definições de variável estejam disponíveis para todos os modelos, independentemente do nível de aninhamento.

Independentemente do nível de aninhamento, somente a codificação HTTP de passagem única deve ser aplicada a valores variáveis que devem ser substituídos em qualquer lugar nas solicitações aninhadas de Renderização de imagem ou Exibição de imagem ou em seus respectivos associados catalog::Modifier strings.

Processamento de variável em solicitações externas incorporadas

$ *var*$ referências que ocorrem em qualquer lugar dentro das chaves de uma solicitação externa incorporada são substituídas por valores de definição de variável correspondentes. Isso permite que solicitações externas incorporadas sejam colocadas em um modelo em um catálogo de imagem.

Variable values which are to be substituted into foreign requests typically must be double-encoded, since no re-encoding is applied before the server attempts to transmit the final foreign url.

Processamento de variável em arquivos SVG

$ *var*$ referências podem ocorrer em arquivos SVG em valores de atributo e em <text> strings. O Image Serving os substitui pelo correspondente $ *var*= definições conhecidas no nível de aninhamento da solicitação em que o arquivo SVG é especificado.

OBSERVAÇÃO

Any variable value which is to be substituted into an href attribute value must be double URL-encoded; all others must be singly encoded.

Variável de caminho predefinida

O object especificado no caminho da solicitação é atribuído à variável predefinida *$object*. ' $ *objeto*$' pode ser colocado em qualquer local da solicitação, no modelo referenciado pela solicitação ou em uma solicitação aninhada/incorporada, onde esse objeto é permitido, incluindo o valor de src= e mask=e o caminho de uma solicitação aninhada/incorporada.

Por exemplo, a solicitação a seguir reutilizará a imagem especificada no caminho como a fonte de uma camada em uma solicitação aninhada:

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

É equivalente a

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

A definição de *$object* pode ser substituído pela especificação explícita de $ *objeto*= com o valor desejado.

A variável de caminho predefinida geralmente é usada juntamente com template=.

Padrão

Nenhum. Somente as variáveis que foram definidas são substituídas pelo servidor (exceto a variável de caminho predefinida $object, que sempre será substituída). Quaisquer ocorrências de $ *var*$ permanecer literal se *var*não pode corresponder a uma definição de variável existente.

Examples

Consulte "Exemplo A" em Modelos.

Consulte também

Templates, template=

Nesta página