Macros de comandos

Las macros de comandos proporcionan accesos directos con nombre para conjuntos de comandos. Las macros se definen en archivos de definición de macro separados, que pueden adjuntarse a catálogos de imágenes o al catálogo predeterminado.

$ *name*$

name

Nombre de macro.

* * el nombre no distingue entre mayúsculas y minúsculas y puede consistir en cualquier combinación de letras ASCII, números , '-', '_' y '.' caracteres.

Las macros se pueden invocar en cualquier parte de una solicitud después de '?', así como en cualquier parte dentro de un campo catalog::Modifier o catalog::PostModifier. Las macros solo pueden representar uno o más comandos completos de servicio de imágenes y deben separarse de otros comandos con separadores "&".

Las invocaciones de macro se sustituyen por sus cadenas de sustitución antes de analizar. Los comandos dentro de las macros anulan los mismos comandos en la solicitud si se producen antes de la invocación de macro en la solicitud. Esto es diferente a catalog::Modifier, donde los comandos de la cadena de solicitud siempre anulan los comandos de la cadena catalog::Modifier, independientemente de la posición en la solicitud.

Las macros de comandos no pueden tener valores de argumento, pero pueden utilizarse variables personalizadas para pasar valores de la solicitud a la macro.

Las macros se pueden anidar, con la siguiente restricción: Una macro solo puede invocarse si ya está definida en el momento en que se analiza la definición de la macro, ya sea al aparecer antes en el mismo archivo de definición de macro o al colocar la definición de dicha macro incrustada en el archivo de definición de macro predeterminada.

Ejemplo

Las macros pueden resultar útiles si se van a aplicar los mismos atributos a diferentes imágenes.

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 una macro para los atributos comunes:

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

La macro se utilizaría de la siguiente manera:

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

Dado que wid= es diferente para la tercera solicitud, simplemente anulamos el valor después de invocar la macro (especificar wid=antes $view$ no tendría ningún efecto).

Véase también

catálogo::MacroFile , catálogo::Modificador, Referencia de definición de macro

En esta página