Variabili di sostituzione

Le variabili di sostituzione vengono utilizzate per trasferire i valori dall’URL della richiesta ai modelli di composizione memorizzati nei cataloghi di immagini. Le variabili possono anche essere utilizzate per trasmettere lo stesso valore in posizioni diverse in una richiesta complessa.

$ *var*= *value*

var

Nome della variabile.

value

Valore a cui deve essere impostata la variabile (stringa).

Le definizioni delle variabili e i riferimenti possono verificarsi nella parte query della richiesta, in catalog::Modifiere in catalog::PostModifier.

Le variabili sono definite come sopra, simili ad altri comandi IS; il comando '$' iniziale identifica il comando come definizione di variabile. Prima di fare riferimento alle variabili, è necessario definirle.

Nome della variabile var non distingue tra maiuscole e minuscole e può consistere in una combinazione di lettere ASCII, numeri, "-", "_" e ".".

NOTA

value devono essere codificati in URL a passa singolo per una trasmissione HTTP sicura. La doppia codifica è necessaria se value viene ritrasmesso tramite HTTP. Questo è il caso quando value viene sostituito in una richiesta esterna nidificata o nell'attributo href di un SVG <image> elemento.

I riferimenti di variabile sono costituiti dal nome della variabile delimitato da '$' iniziale e finale ($)var$). I riferimenti possono verificarsi in qualsiasi punto della porzione di valore di qualsiasi comando IS (cioè tra il '=' che segue il nome del comando e il successivo '&' o la fine della richiesta). Le variabili personalizzate non possono essere applicate al layer= e effect= comandi. Più variabili sono consentite nello stesso valore di comando. Il server sostituisce ogni occorrenza di $ *var*$ con value.

I riferimenti alle variabili potrebbero non essere nidificati. Qualsiasi occorrenza di $ *var*$ entro value non sono sostituiti.

Ad esempio, il frammento di richiesta:

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

risolve in:

text=my$var2$tree

NOTA

'$' non è un carattere riservato; potrebbe verificarsi altrimenti nella richiesta. Ad esempio: src=my$image$file.tif è un comando valido (supponendo che una voce di catalogo o un file immagine denominato my$image$file.tif esiste), mentre wid=$number$ non è perché wid richiede un argomento numerico.

Elaborazione delle variabili nelle richieste nidificate

$ *var*$ i riferimenti possono verificarsi ovunque all’interno delle parentesi graffe di una richiesta Image Server o Image Rendering nidificata, inclusa a sinistra di '?' separazione del percorso dalla query. Il server sostituisce questi riferimenti con i valori (dall'url o da catalog::Modifier del catalogo immagini principale) prima di analizzare ed elaborare ulteriormente la richiesta nidificata.

Inoltre, tutti $ *var*= definizioni dall'url o catalog::Modifier vengono inoltrate a tutte le richieste di Image Server e Image Rendering nidificate. In questo modo tutte le definizioni di variabili sono disponibili per tutti i modelli, indipendentemente dal livello di nidificazione.

Indipendentemente dal livello di nidificazione, ai valori variabili che devono essere sostituiti in qualsiasi punto delle richieste di Image Rendering o Image Server nidificate o associate deve essere applicata solo la codifica HTTP a passo singolo catalog::Modifier stringhe.

Elaborazione variabile nelle richieste esterne incorporate

$ *var*$ i riferimenti che si verificano in qualsiasi punto delle parentesi graffe di una richiesta esterna incorporata vengono sostituiti dai valori di definizione della variabile corrispondenti. Questo consente di inserire richieste esterne incorporate in un modello in un catalogo immagini.

I valori delle variabili che devono essere sostituiti in richieste esterne in genere devono essere codificati in doppia codifica, poiché non viene applicata alcuna nuova codifica prima che il server tenti di trasmettere l’URL esterno finale.

Elaborazione delle variabili nei file SVG

$ *var*$ i riferimenti possono verificarsi nei file SVG nei valori attributo e in <text> stringhe. Image Serving sostituisce questi con il corrispondente $ *var*= definizioni note al livello di nidificazione della richiesta in cui è specificato il file SVG.

NOTA

Qualsiasi valore di variabile che deve essere sostituito in un href il valore dell'attributo deve essere codificato in doppio URL; tutti gli altri devono essere codificati singolarmente.

Variabile di percorso predefinita

La object specificato nel percorso della richiesta viene assegnato alla variabile predefinita *$object*. ' $ *oggetto*$' può essere posizionato ovunque nella richiesta, nel modello a cui fa riferimento la richiesta, o in una richiesta nidificata/incorporata in cui tale oggetto è consentito, compreso il valore di src= e mask=e il percorso di una richiesta nidificata/incorporata.

Ad esempio, la seguente richiesta riutilizzerà l’immagine specificata nel percorso come origine di un livello in una richiesta nidificata:

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

Equivale a

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

La definizione di *$object* può essere ignorato specificando esplicitamente $ *oggetto*= con il valore desiderato.

La variabile di percorso predefinita viene comunemente utilizzata insieme a template=.

Predefinito

Nessuno. Solo le variabili definite vengono sostituite dal server (ad eccezione della variabile di percorso predefinita $object, che sarà sempre sostituita). Qualsiasi occorrenza di $ *var*$ rimanere letterale se *var*impossibile trovare una corrispondenza con una definizione di variabile esistente.

Esempi

Vedi "Esempio A" in Modelli.

Consultate anche

Modelli, template=

In questa pagina