Macros de comando

Última atualização em 2023-09-01
  • Criado para:
  • Developer
    User

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.

*name* 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 invocadas em qualquer lugar em uma solicitação após "?" e em qualquer lugar dentro de um catalog::Modifier ou catalog::PostModifier campo. As macros só podem representar um ou mais comandos completos do Servidor de imagens e devem ser separadas de outros comandos com & separadores.

As invocações de macro são substituídas por suas cadeias de caracteres de substituição no início da análise. Os comandos nas macros substituem os mesmos comandos na solicitação se ocorrerem antes da invocação da macro na solicitação. Esse fluxo de processamento é diferente de catalog::Modifier, em que os comandos na string de solicitação sempre substituem os comandos na variável catalog::Modifier independentemente da posição na solicitação.

Macros de comandos 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 estar aninhadas. No entanto, uma macro só poderá ser invocada se já estiver definida no momento em que a definição da macro for analisada. Esse fluxo de trabalho é feito ao aparecer anteriormente no mesmo arquivo de definição de macro ou ao colocar a definição dessa 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

Você pode 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

Porque wid= for diferente para a terceira solicitação, basta substituir o valor após a macro é invocada (especificando wid=antes $view$ não tem efeito).

Consulte também

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

Nesta página