Macro dei comandi command-macros
Le macro dei comandi forniscono scelte rapide denominate per insiemi di comandi.
$ *name*$
name nome macro
Le macro vengono definite in file di definizione delle macro separati, che possono essere allegati ai cataloghi di materiale o al catalogo predefinito.
name non fa distinzione tra maiuscole e minuscole e può essere costituito da qualsiasi combinazione di lettere ASCII, numeri, '-', '_' e '.' caratteri.
Richiama le macro in qualsiasi punto di una richiesta dopo il punto '?' o in qualsiasi punto di un campo vignette::Modifier
. Le macro possono rappresentare solo uno o più comandi di Image Rendering e devono essere separate da altri comandi con separatori '&'.
Le chiamate macro vengono sostituite dalle relative stringhe di sostituzione nelle prime fasi dell'analisi. I comandi all'interno delle macro ignorano gli stessi comandi nella richiesta se si verificano prima della chiamata della macro nella richiesta. Questo flusso di lavoro è diverso da vignette::Modifier
, dove i comandi nella stringa di richiesta sovrascrivono i comandi nella stringa vignette::Modifier
, indipendentemente dalla posizione nella richiesta.
Le macro di comando non possono avere valori di argomento, ma è possibile utilizzare variabili personalizzate per passare i valori dalla richiesta alla macro.
Le macro non possono essere nidificate.
Esempio
Le macro possono essere utili se gli stessi comandi o attributi devono essere applicati a diverse immagini sottoposte a rendering.
http://server/ir/render/cat/vig0?fmt=jpeg&qlt=80&sharpen=1&src=cat/matA&res=40 http://server/ir/render/cat/vig1?fmt=jpeg&qlt=80&sharpen=1&src=cat/matB&res=40 http://server/ir/render/cat/vig2?fmt=jpeg&qlt=95&sharpen=1&src=cat/matC&res=40
È possibile definire una macro per gli attributi comuni:
render vignette=cat/$vig$&fmt=jpg&qlt=80&sharpen=1&src=cat/$mat$&res=40
La macro viene utilizzata nel modo seguente:
http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$ http://server/ir/render/cat/vig0?$mat=matc&$render$&qlt=95
Poiché qlt=
è diverso per la terza richiesta, il software sostituisce il valore dopo il richiamo della macro (specificando qlt=
before $render$
non è efficace).
Vedere anche
catalog::MacroFile
, catalog::Modifier
, riferimento definizione macro