代替変数は、リクエスト URL からイメージカタログに保存されているテンプレートを合成するために値を転送するために使用されます。 変数は、複雑なリクエストの様々な場所に同じ値を伝えるためにも使用できます。
$ *
var*= *
値*
var |
変数名。 |
値 |
変数を設定する値(文字列)です。 |
変数の定義と参照は、リクエストのクエリ部分で、 catalog::Modifier
および catalog::PostModifier
.
変数は、他の IS コマンドと同様に、上記のように定義されます。先頭の「$」は、コマンドを変数定義として識別します。 変数は、参照前に定義する必要があります。
変数名 var
は大文字と小文字を区別せず、ASCII 文字、数字、「 — 」、「_」、「。」の組み合わせで構成することもできます。
value
は、安全な HTTP 送信を目的として、1 パスで URL エンコードする必要があります。 次の場合は二重エンコードが必要です value
は HTTP 経由で再転送されます。 これは、 value
は、ネストされた外部リクエストまたはSVGの href 属性に置き換えられます。 <image>
要素。
変数参照は、変数名の先頭と末尾に「$」 ($var$) です。 参照は、任意の IS コマンドの値部分の任意の場所に配置できます(つまり、コマンド名の後の「=」と、後続の「&」またはリクエストの最後の間)。 カスタム変数は layer=
および effect=
コマンド 同じコマンド値で複数の変数を使用できます。 サーバーは、 $ *
var*$
と value
.
変数参照はネストできません。 次のいずれかの $ *
var*$
範囲 value
は置換されません。
例えば、要求フラグメントは次のようになります。
$var2=apple&$var1=my$var2$tree&text=$var1$
解決先:
text=my$var2$tree
「$」は予約文字ではありません。リクエストで別の場合に発生する可能性があります。 例: src=my$image$file.tif
は有効なコマンドです ( カタログエントリまたは画像ファイルの名前が my$image$file.tif
が存在する )、 wid=$number$
がではないのは、 wid
には数値引数が必要です。
$ *
var*$
参照は、「?」の左側を含め、ネストされた画像サービングまたは画像レンダリング要求の中括弧内の任意の場所で発生する可能性があります。 クエリからパスを分離する サーバーは、これらの参照を (URL または catalog::Modifier
(メイン画像カタログの)) ネストされたリクエストをさらに解析および処理する前に呼び出します。
さらに、 $ *
var*=
url からの定義または catalog::Modifier
は、ネストされたすべての画像サービングおよび画像レンダリング要求に転送されます。 これにより、ネストレベルに関係なく、すべての変数定義をすべてのテンプレートで使用できます。
ネストのレベルに関係なく、ネストされた画像レンダリング要求、画像サービング要求の任意の場所で置き換えられる変数の値、または関連する値には、1 パスの HTTP エンコードのみを適用する必要があります catalog::Modifier
文字列。
$ *
var*$
埋め込まれた外部リクエストの中括弧内で発生する参照は、一致する変数定義値に置き換えられます。 これにより、埋め込まれた外部リクエストを画像カタログのテンプレートに配置できます。
外部要求で置き換えられる変数の値は、通常、二重エンコードする必要があります。サーバーが最終的な外部 URL を送信しようとする前に再エンコードが適用されないからです。
$ *
var*$
参照は、属性値のSVGファイル内および <text>
文字列。 画像サービングは、これらを一致する $ *
var*=
SVG・ファイルが指定されているリクエスト・ネスト・レベルでの定義
任意の変数値 ( href
属性値は、二重に URL エンコードされている必要があります。その他の文字はすべて単独でエンコードする必要があります。
この object
リクエストパスで指定された値は、事前定義済みの変数に割り当てられます *
$object*
. ' $ *
object*$
'は、リクエストの任意の場所、リクエストで参照されるテンプレート内、またはこのようなオブジェクトが許可されるネストされた/埋め込みリクエスト内(の値を含む)に配置できます。 src=
および mask=
、およびネストされた/埋め込み要求のパス。
例えば、次のリクエストでは、パスで指定された画像をネストされたリクエストのレイヤーのソースとして再利用します。
/is/image/a/b?…&layer=3&src=is{…&src=$object$}&…
これは、
/is/image/a/b?…&layer=3&src=is{…&src=a/b}&…
の定義 *
$object*
を明示的に指定することで上書きできます $ *
object*=
を適切な値に設定します。
事前定義されたパス変数は、 template=
.
なし. 定義された変数だけがサーバに置き換えられます(事前に定義されたパス変数$object は常に置き換えられます)。 次のいずれかの $ *
var*$
次の場合は文字通りである *
var*
は既存の変数定義と一致しません。
詳しくは、 テンプレート.