代替変数

代替変数は、要求URLからイメージカタログに格納された合成テンプレートに値を転送するために使用されます。 変数は、複雑なリクエストの様々な場所に同じ値を伝えるためにも使用できます。

$ * *= *varvalue*

var

変数名。

value

変数を設定する値(文字列)。

変数の定義と参照は、リクエストのクエリ部分(catalog::Modifier内、およびcatalog::PostModifier内)で発生する場合があります。

変数は、他のISコマンドと同様に、上記のように定義されます。先頭の「$」は、コマンドを変数定義として識別します。 変数は、参照前に定義する必要があります。

変数名​var​は大文字と小文字を区別しません。また、ASCII文字、数字、「 — 」、「_」、「。」の組み合わせで構成することもできます。

メモ

value は、安全なHTTP送信を実現するために、1パスでURLエンコードする必要があります。value​がHTTP経由で再送信される場合は、二重エンコーディングが必要です。 これは、value​がネストされた外部リクエストに、またはSVG <image>要素のhref属性に置き換えられる場合に発生します。

変数参照は、先頭と末尾に「$」($var$)を区切った変数名で構成されます。 参照は、ISコマンドの値部分の任意の場所で発生する場合があります(例:コマンド名の後の「=」と、後続の「&」またはリクエストの終わりの間)。 カスタム変数は、layer=およびeffect=コマンドには適用できません。 同じコマンド値で複数の変数を使用できます。 サーバは、 $ *var*$を​value​に置き換えます。

変数参照はネストできません。 value​内の $ *var*$は置換されません。

例えば、要求フラグメントは次のようになります。

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

解決:

text=my$var2$tree

メモ

'$'は予約文字ではありません。リクエスト内で別の場合に発生する可能性があります。 例えば、src=my$image$file.tifは有効なコマンドです(my$image$file.tifという名前のカタログエントリまたは画像ファイルが存在する場合)が、wid=$number$は有効ではありません。widには数値引数が必要です。

ネストされたリクエストでの変数処理

$ * *$ varreferencesは、ネストされた画像サービング要求または画像レンダリング要求の中括弧内の任意の場所で、「?」の左側を含めて発生する可能性があります。クエリからパスを分離する。 サーバーは、ネストされた要求をさらに解析および処理する前に、これらの参照を(メイン画像カタログのURLまたはcatalog::Modifierの値で置き換えます。

さらに、URLまたはcatalog::Modifierからの $ *var*=定義がすべて、ネストされたすべての画像サービング要求および画像レンダリング要求に転送されます。 これにより、ネストレベルに関係なく、すべてのテンプレートですべての変数定義を使用できます。

ネストのレベルに関係なく、単一パスのHTTPエンコーディングのみを、ネストされた画像レンダリング要求または画像サービング要求の任意の場所、または関連するcatalog::Modifier文字列に置き換える変数値に適用する必要があります。

埋め込み外部リクエストでの変数処理

$ *埋め込み外部リクエストの中括弧内の任意の場所にある*$ varreferencesは、一致する変数定義値に置き換えられます。これにより、埋め込まれた外部リクエストを画像カタログのテンプレートに配置できます。

変数値で外部要求に置き換える場合は、通常、二重エンコードする必要があります。これは、サーバーが最終的な外部URLを送信しようとする前に再エンコードが適用されないからです。

SVGファイルでの変数処理

$ * *$ varreferencesは、SVGファイルの属性値と文字列で発生する場合があ <text> ります。画像サービングは、SVGファイルが指定されている要求のネストレベルで認識されている、一致する $ *var*=定義をこれに置き換えます。

メモ

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*と既存の変数定義とが一致しない場合、リテラルのままです。

テンプレートの「例A」を参照してください。

関連項目

テンプレートtemplate=

このページ