Macros de comando

As macros de comando fornecem atalhos nomeados para conjuntos de comandos. As macros são definidas em arquivos de definição de macro separados, que podem ser anexados a catálogos de imagens ou ao catálogo padrão.

$ *name*$

name

Nome da macro.

* * O nome não diferencia maiúsculas de minúsculas e pode consistir em qualquer combinação de letras ASCII, números, '-', '_' e '.' caracteres.

As macros podem ser chamadas em qualquer lugar em uma solicitação após o '?', bem como em qualquer lugar dentro de um campo catalog::Modifier ou catalog::PostModifier. As macros só podem representar um ou mais comandos completos do Image Serving e devem ser separadas de outros comandos com separadores '&'.

As invocações de macro são substituídas por suas sequências de substituição precocemente durante a análise. Comandos em macros substituirão os mesmos comandos na solicitação se ocorrerem antes da chamada de macro na solicitação. Isso é diferente de catalog::Modifier, onde os comandos na cadeia de caracteres de solicitação sempre substituirão os comandos na cadeia de caracteres catalog::Modifier, independentemente da posição na solicitação.

As macros de comando não podem ter valores de argumento, mas variáveis personalizadas podem ser usadas para transmitir valores da solicitação para a macro.

As macros podem ser aninhadas, com a seguinte restrição: Uma macro só pode ser invocada se já estiver definida no momento em que a definição da macro for analisada, seja pela exibição anterior no mesmo arquivo de definição de macro, ou colocando a definição de tal macro incorporada no arquivo de definição de macro padrão.

Exemplo

As macros podem ser úteis se os mesmos atributos forem aplicados a imagens diferentes.

http://server/cat/1345?wid=240&fmt=jpeg&qlt=85&op_usm=5,2&bgc=200,200,200&align=-1,-1 http://server/cat/1435?wid=240&fmt=jpeg&qlt=85&op_usm=5,2&bgc=200,200,200&align=-1,-1 http://server/cat/8243?wid=480&fmt=jpeg&qlt=85&op_usm=5,2&bgc=200,200,200&align=-1,-1

Podemos definir uma macro para os atributos comuns:

view wid=240&fmt=jpeg&qlt=85&op_usm=5,2&bgc=200,200,200&align=-1,-1

A macro seria usada da seguinte maneira:

http://server/cat/1345?$view$ http://server/cat/1435?$view$ http://server/cat/8243?$view$&wid=480

Como wid= é diferente para a terceira solicitação, simplesmente substituímos o valor depois de a macro é chamada (especificar wid=antes $view$ não teria efeito).

Consulte também

catálogo::MacroFile , catalog::Modifier, Referência de definição de macro

Nesta página