Variabili di sostituzione

Ultimo aggiornamento: 2023-11-03
  • Argomenti:
  • Dynamic Media Classic
    Visualizza ulteriori informazioni su questo argomento
  • SDK/API
    Visualizza ulteriori informazioni su questo argomento
  • Creato per:
  • Developer
    User

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*= *valore*

var

Nome della variabile.

valore

Valore al quale deve essere impostata la variabile (stringa).

Definizioni di variabili e riferimenti possono verificarsi nella parte query della richiesta, in catalog::Modifier, e in catalog::PostModifier.

Le variabili sono definite come sopra, in modo simile ad altri comandi IS; l'iniziale '$' identifica il comando come definizione di variabile. Le variabili devono essere definite prima di essere referenziate.

Nome della variabile var non fa distinzione tra maiuscole e minuscole e può essere costituito da qualsiasi combinazione di lettere ASCII, numeri, "-", "_" e ".".

NOTA

value deve essere codificata in URL a passaggio singolo per una trasmissione HTTP sicura. È necessaria la doppia codifica se value viene ritrasmesso tramite HTTP. Questo avviene 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, ovvero tra '=' dopo 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 di variabile non possono essere nidificati. Qualsiasi occorrenza di $ *var*$ entro value non vengono sostituiti.

Ad esempio, il frammento di richiesta:

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

si risolve in:

text=my$var2$tree

NOTA

'$' non è un carattere riservato. È possibile che la richiesta non contenga alcun carattere riservato. Ad esempio: src=my$image$file.tif è un comando valido (supponendo che una voce di catalogo o un file di immagine denominato my$image$file.tif esiste), mentre wid=$number$ non lo è, 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 di Image Server o Image Rendering nidificata, incluso a sinistra di "?" separazione del percorso dalla query. Il server sostituisce questi riferimenti con valori (provenienti dall’URL o da catalog::Modifier del catalogo principale delle immagini) prima di analizzare ed elaborare ulteriormente la richiesta nidificata.

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

Indipendentemente dal livello di nidificazione, solo la codifica HTTP a passata singola deve essere applicata ai valori delle variabili che devono essere sostituiti ovunque nelle richieste di Image Rendering o Image Server nidificate o nelle relative richieste associate catalog::Modifier stringhe.

Elaborazione delle variabili nelle richieste esterne incorporate

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

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

Elaborazione variabile in file SVG

$ *var*$ è possibile che nei file SVG vengano inseriti riferimenti nei valori degli attributi e in <text> stringhe. Image Server sostituisce questi elementi con i corrispondenti $ *var*= definizioni note al livello di nidificazione della richiesta in cui è specificato il file SVG.

NOTA

Qualsiasi valore di variabile da sostituire in un href il valore dell’attributo deve avere una doppia codifica URL; tutti gli altri devono avere una singola codifica.

Variabile di percorso predefinita

Il 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 dove tale oggetto è consentito, incluso il valore di src= e mask=e il percorso di una richiesta nidificata/incorporata.

Ad esempio, la seguente richiesta riutilizza 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 viene sempre sostituita. Qualsiasi occorrenza di $ *var*$ rimani letterale se *var*non può corrispondere a una definizione di variabile esistente.

Esempi

Vedi "Esempio A" in Modelli.

Consultate anche

Modelli, template= modello

In questa pagina